@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 indexOfShouldThrowAnExceptionIfSegmentIsNull() { TreePath path = newPath(); thrown.expect(NullPointerException.class); TreePaths.indexOf(path, null); }
@Test public void indexOfShouldThrowAnExceptionIfPathIsNull() { thrown.expect(NullPointerException.class); TreePaths.indexOf(null, ""); }
@Test public void indexOfShouldReturnTheFirstIndex() { TreePath path = new TreePath(new Object[] {"a", "a", "a"}); assertThat(TreePaths.indexOf(path, "a"), is(0)); }
@Test public void indexOfShouldReturnTheCorrectIndex() { TreePath path = new TreePath(new Object[] {"a", "b", "c"}); int index = 1; // Index of "b" assertThat(TreePaths.indexOf(path, "b"), is(index)); }
@Test public void indexOfShouldReturnNegative1IfNotFound() { TreePath path = new TreePath(new Object[] {"a", "b", "c"}); assertThat(TreePaths.indexOf(path, "d"), is(-1)); }
@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); }