@Test( expected = UnsupportedOperationException.class ) public void shouldReturnImmutableSegmentsList() { path.getSegmentsList().add(null); }
@Test public void shouldIterateOverAllSegmentsReturnedByList() { Iterator<Path.Segment> expectedIter = validSegmentsList.iterator(); for (Path.Segment segment : path) { assertThat(segment, is(expectedIter.next())); } expectedIter = path.getSegmentsList().iterator(); for (Path.Segment segment : path) { assertThat(segment, is(expectedIter.next())); } }
@Test public void shouldIterateOverAllSegmentsReturnedByList() { Iterator<Path.Segment> expectedIter = validSegmentsList.iterator(); for (Path.Segment segment : path) { assertThat(segment, is(expectedIter.next())); } expectedIter = path.getSegmentsList().iterator(); for (Path.Segment segment : path) { assertThat(segment, is(expectedIter.next())); } }
@Test public void shouldReturnEmptySegmentsList() { assertThat(root.getSegmentsList(), is(notNullValue())); assertThat(root.getSegmentsList().isEmpty(), is(true)); }
@Test public void shouldConsiderAsNormalizedARelativePathWithParentSegmentAtFront() { List<Path.Segment> segments = new ArrayList<Path.Segment>(); segments.add(Path.PARENT_SEGMENT); segments.addAll(validSegmentsList); path = new BasicPath(segments, false); assertThat(path.isAbsolute(), is(false)); assertThat(path.isNormalized(), is(true)); assertThat(path.getSegmentsList(), is(segments)); assertThat(path.size(), is(segments.size())); }
@Test public void shouldConsiderAsNotNormalizedPathWithMostParentReferencesAndOneNonParentReferenceInMiddle() { List<Path.Segment> segments = new ArrayList<Path.Segment>(); segments.add(Path.PARENT_SEGMENT); segments.add(Path.PARENT_SEGMENT); segments.add(pathFactory.createSegment("nonParentSegment")); segments.add(Path.PARENT_SEGMENT); segments.add(Path.PARENT_SEGMENT); path = new BasicPath(segments, true); assertThat(path.isAbsolute(), is(true)); assertThat(path.isNormalized(), is(false)); assertThat(path.getSegmentsList(), is(segments)); assertThat(path.size(), is(segments.size())); }
@Test public void shouldConsiderAsNotNormalizedAnAbsolutePathWithParentSegmentAtFront() { List<Path.Segment> segments = new ArrayList<Path.Segment>(); segments.add(Path.PARENT_SEGMENT); segments.addAll(validSegmentsList); path = new BasicPath(segments, true); assertThat(path.isAbsolute(), is(true)); assertThat(path.isNormalized(), is(false)); assertThat(path.getSegmentsList(), is(segments)); assertThat(path.size(), is(segments.size())); }
@Test public void shouldConsiderAsNotNormalizedAnAbsolutePathWithAllParentReferences() { List<Path.Segment> segments = new ArrayList<Path.Segment>(); for (int i = 0; i != 10; ++i) { segments.add(Path.PARENT_SEGMENT); } path = new BasicPath(segments, true); assertThat(path.isAbsolute(), is(true)); assertThat(path.isNormalized(), is(false)); assertThat(path.getSegmentsList(), is(segments)); assertThat(path.size(), is(segments.size())); }
@Test public void shouldCreateAbsolutePathWithParentSegment() { validSegmentsList.add(Path.PARENT_SEGMENT); path = new BasicPath(validSegmentsList, true); assertThat(path.isAbsolute(), is(true)); assertThat(path.isNormalized(), is(false)); assertThat(path.getSegmentsList(), is(validSegmentsList)); assertThat(path.size(), is(validSegmentsList.size())); }
@Test public void shouldConsiderAsNotNormalizedAnAbsolutePathWithParentSegmentAtEnd() { validSegmentsList.add(Path.PARENT_SEGMENT); path = new BasicPath(validSegmentsList, true); assertThat(path.isAbsolute(), is(true)); assertThat(path.isNormalized(), is(false)); assertThat(path.getSegmentsList(), is(validSegmentsList)); assertThat(path.size(), is(validSegmentsList.size())); }
@Test public void shouldCreateRelativePathWithParentSegment() { validSegmentsList.add(Path.PARENT_SEGMENT); path = new BasicPath(validSegmentsList, false); assertThat(path.isAbsolute(), is(false)); assertThat(path.isNormalized(), is(false)); assertThat(path.getSegmentsList(), is(validSegmentsList)); assertThat(path.size(), is(validSegmentsList.size())); }
@Test public void shouldCreateRelativePathWithSelfSegment() { validSegmentsList.add(Path.SELF_SEGMENT); path = new BasicPath(validSegmentsList, false); assertThat(path.isAbsolute(), is(false)); assertThat(path.isNormalized(), is(false)); assertThat(path.getSegmentsList(), is(validSegmentsList)); assertThat(path.size(), is(validSegmentsList.size())); }
@Test public void shouldCreateRelativePathWithSelfSegment() { validSegmentsList.add(Path.SELF_SEGMENT); path = new BasicPath(validSegmentsList, false); assertThat(path.isAbsolute(), is(false)); assertThat(path.isNormalized(), is(false)); assertThat(path.getSegmentsList(), is(validSegmentsList)); assertThat(path.size(), is(validSegmentsList.size())); }
@Test public void shouldCreateAbsolutePathWithSelfSegment() { validSegmentsList.add(Path.SELF_SEGMENT); path = new BasicPath(validSegmentsList, true); assertThat(path.isAbsolute(), is(true)); assertThat(path.isNormalized(), is(false)); assertThat(path.getSegmentsList(), is(validSegmentsList)); assertThat(path.size(), is(validSegmentsList.size())); }
@Test public void shouldConsiderAsNormalizedARelativePathWithAllParentReferences() { List<Path.Segment> segments = new ArrayList<Path.Segment>(); for (int i = 0; i != 10; ++i) { segments.add(Path.PARENT_SEGMENT); } path = new BasicPath(segments, false); assertThat(path.isAbsolute(), is(false)); assertThat(path.isNormalized(), is(true)); assertThat(path.getSegmentsList(), is(segments)); assertThat(path.size(), is(segments.size())); }
@Test public void shouldCreateAbsolutePathFromListOfValidSegments() { path = new BasicPath(validSegmentsList, true); assertThat(path.isAbsolute(), is(true)); assertThat(path.isNormalized(), is(true)); assertThat(path.getSegmentsList(), is(validSegmentsList)); assertThat(path.size(), is(validSegmentsList.size())); }
@Test public void shouldCreateRelativePathFromListOfValidSegments() { path = new BasicPath(validSegmentsList, false); assertThat(path.isAbsolute(), is(false)); assertThat(path.isNormalized(), is(true)); assertThat(path.getSegmentsList(), is(validSegmentsList)); assertThat(path.size(), is(validSegmentsList.size())); }
@Test public void shouldCreateRelativePathFromListOfValidSegments() { path = new BasicPath(validSegmentsList, false); assertThat(path.isAbsolute(), is(false)); assertThat(path.isNormalized(), is(true)); assertThat(path.getSegmentsList(), is(validSegmentsList)); assertThat(path.size(), is(validSegmentsList.size())); }
@Test public void shouldConsiderAsNotNormalizedARelativePathWithParentSegmentAtEnd() { validSegmentsList.add(Path.PARENT_SEGMENT); path = new BasicPath(validSegmentsList, false); assertThat(path.isAbsolute(), is(false)); assertThat(path.isNormalized(), is(false)); assertThat(path.getSegmentsList(), is(validSegmentsList)); assertThat(path.size(), is(validSegmentsList.size())); }
@Test public void shouldCreateAbsolutePathFromListOfValidSegments() { path = new BasicPath(validSegmentsList, true); assertThat(path.isAbsolute(), is(true)); assertThat(path.isNormalized(), is(true)); assertThat(path.getSegmentsList(), is(validSegmentsList)); assertThat(path.size(), is(validSegmentsList.size())); }