// throws VisitFailure public virtual void testTopDownUntil() { expected.log(new Event(stopAt, n0)); expected.log(new Event(stopAt, n1)); expected.log(new Event(stopAt, n2)); IVisitable nodeReturned = new TopDownUntil(logVisitor(stopAt)).visit(n0); Assertion.AssertEquals(expected, logger); Assertion.AssertEquals(n0, nodeReturned); }
// throws VisitFailure public virtual void testTopDownAtBorder() { IVisitor borderAction = new Identity(); expected.log(new Event(stopAt, n0)); expected.log(new Event(stopAt, n1)); expected.log(new Event(borderAction, n1)); expected.log(new Event(stopAt, n2)); expected.log(new Event(borderAction, n2)); IVisitable nodeReturned = new TopDownUntil(logVisitor(stopAt), logVisitor(borderAction) ).visit(n0); Assertion.AssertEquals(expected, logger); Assertion.AssertEquals(n0, nodeReturned); }