@Test public void headPathShouldReturnTheCorrectSubPath() { TreePath path = new TreePath(new Object[] {"a", "b", "c"}); TreePath expected = path.getParentPath(); TreePath actual = TreePaths.headPath(path, path.getSegmentCount() - 1); assertThat(actual, equalTo(expected)); }
@Test public void headPathShouldThrowAnExceptionIfIndexIsNegative() { TreePath path = newPath(); thrown.expect(IllegalArgumentException.class); TreePaths.headPath(path, -1); }
@Test public void headPathShouldReturnAnEqualPathIfIndexIsEqualToThePathLength() { TreePath path = newPath(); assertThat(TreePaths.headPath(path, path.getSegmentCount()), equalTo(path)); }
@Test public void headPathShouldThrowAnExceptionIfIndexIsGreaterThanThePathLength() { TreePath path = newPath(); thrown.expect(IllegalArgumentException.class); TreePaths.headPath(path, path.getSegmentCount() + 1); }