@Test(expected = ItemNotFoundException.class) public void shouldFailToReturnAncestorWhenDepthIsGreaterThanNodeDepth() throws Exception { altimaModel.getAncestor(40); }
@Test public void shouldIndicateIsNotNode() { assertThat(altimaModel.isNode(), is(false)); }
@Test public void shouldReturnAncestorAtLevelOneForAncestorOfDepthOne() throws Exception { assertThat(altimaModel.getAncestor(1), is((Item) cars)); }
@Test public void shouldReturnSelfForAncestorOfDepthEqualToDepthOfNode() throws Exception { assertThat(altimaModel.getAncestor(altimaModel.getDepth()), is((Item) altimaModel)); assertThat(altimaModel.getAncestor(altimaModel.getDepth() - 1), is((Item) altima)); }
@Test(expected = ItemNotFoundException.class) public void shouldNotAllowNegativeAncestorDepth() throws Exception { altimaModel.getAncestor(-1); }
@Test public void shouldReturnRootForAncestorOfDepthZero() throws Exception { assertThat(altimaModel.getAncestor(0), is((Item) rootNode)); }
@Test public void shouldAllowVisitation() throws Exception { ItemVisitor visitor = Mockito.mock(ItemVisitor.class); altimaModel.accept(visitor); Mockito.verify(visitor).visit(altimaModel); }
@Test(expected = IllegalArgumentException.class) public void shouldNotAllowVisitationIfNoVisitor() throws Exception { altimaModel.accept(null); }
@Test public void shouldProvideSession() throws Exception { assertThat(altimaModel.getSession(), is((Session) jcrSession)); }
@Test public void shouldProvidePath() throws Exception { assertThat(altimaModel.getPath(), is(altima.getPath() + "/vehix:model")); }
@Test public void shouldProvideParent() throws Exception { assertThat(altimaModel.getParent(), is((Node) altima)); }
@Test public void shouldProvideName() throws Exception { assertThat(altimaModel.getName(), is("vehix:model")); }
@Test public void shouldProvideExecutionContext() throws Exception { assertThat(altimaModel.context(), is(context)); }