@Test( expected = IllegalArgumentException.class ) public void shouldFailForSameAncestorOfNullPath() { path.hasSameAncestor(null); }
@Test( expected = IllegalArgumentException.class ) public void shouldFailForSameAncestorOfNullPath() { path.hasSameAncestor(null); }
@Test public void shouldConsiderTwoRootNodesToHaveSameAncestor() { assertThat(root.hasSameAncestor(root), is(true)); }
@Test public void shouldConsiderANodeToHaveSameAncestorAsItself() { assertThat(path.hasSameAncestor(path), is(true)); }
@Test public void shouldConsiderTwoRootNodesToHaveSameAncestor() { assertThat(ROOT.hasSameAncestor(ROOT), is(true)); }
@Test public void shouldConsiderTwoNotRootSiblingNodesToHaveSameAncestor() { Path path1 = pathFactory.create("/a/y/z"); Path path2 = pathFactory.create("/a/y/c"); assertThat(path1.hasSameAncestor(path2), is(true)); path1 = pathFactory.create("/a/z"); path2 = pathFactory.create("/a/c"); assertThat(path1.hasSameAncestor(path2), is(true)); path1 = pathFactory.create("/z"); path2 = pathFactory.create("/c"); assertThat(path1.hasSameAncestor(path2), is(true)); }
@Test public void shouldConsiderTwoNotRootSiblingNodesToHaveSameAncestor() { Path path1 = pathFactory.create("/a/y/z"); Path path2 = pathFactory.create("/a/y/c"); assertThat(path1.hasSameAncestor(path2), is(true)); path1 = pathFactory.create("/a/z"); path2 = pathFactory.create("/a/c"); assertThat(path1.hasSameAncestor(path2), is(true)); path1 = pathFactory.create("/z"); path2 = pathFactory.create("/c"); assertThat(path1.hasSameAncestor(path2), is(true)); }
@Test public void shouldNotConsiderTwoNonSiblingNodesToHaveSameAncestor() { Path path1 = pathFactory.create("/a/y/z"); Path path2 = pathFactory.create("/a/x/c"); assertThat(path1.hasSameAncestor(path2), is(false)); path1 = pathFactory.create("/a/z"); path2 = pathFactory.create("/b/c"); assertThat(path1.hasSameAncestor(path2), is(false)); path1 = pathFactory.create("/z"); path2 = pathFactory.create("/a/c"); assertThat(path1.hasSameAncestor(path2), is(false)); }
@Test public void shouldNotConsiderTwoNonSiblingNodesToHaveSameAncestor() { Path path1 = pathFactory.create("/a/y/z"); Path path2 = pathFactory.create("/a/x/c"); assertThat(path1.hasSameAncestor(path2), is(false)); path1 = pathFactory.create("/a/z"); path2 = pathFactory.create("/b/c"); assertThat(path1.hasSameAncestor(path2), is(false)); path1 = pathFactory.create("/z"); path2 = pathFactory.create("/a/c"); assertThat(path1.hasSameAncestor(path2), is(false)); }
if (thatPath.isRoot()) return thisPath.isRoot(); if (!thisPath.hasSameAncestor(thatPath)) return false;