### Question:
PathEvaluation implements Iterable<PathEvaluation.Entry> { public boolean isCompletelyResolved() { return resolvedCompletely; } PathEvaluation(PresentationModel root, Path path); PresentationModel getRoot(); int getResolvedLength(); boolean isCompletelyResolved(); Path getPath(); Path getResolvedPath(); Iterator<Entry> iterator(); PathEvaluation.Entry getLastEntry(); PathEvaluation.Entry getResult(); static PresentationModel evaluate(PresentationModel root, Path path); static PresentationModel evaluateOrNull(PresentationModel root, Path path);  }### Answer:
@Test public void isCompletelyResolved() { Path path = new Path("this"); PathEvaluation eval = new PathEvaluation(root, path); assertEquals("eval.isCompletelyResolved()", true, eval.isCompletelyResolved()); assertEquals("eval.getResolvedLength()", 0, eval.getResolvedLength()); assertEquals("eval.getResolvedPath()", path, eval.getResolvedPath()); assertNotNull("eval.getLastEntry()", eval.getLastEntry()); assertEquals("eval.getRoot()", root, eval.getRoot()); assertEquals("eval.getLastEntry().getProperty()", root, eval.getLastEntry().getValue()); }