public void compute_visitor(string expression, double expected) { var analyzer = new NodeAnalyzer(); var tree = analyzer.Parse(expression); var computeVisitor = new ComputeVisitor(); computeVisitor.VisitNode(tree); computeVisitor.ComputedResult.Should().Be(expected); }
public void plus_to_minus_mutator(string expression, double expected) { var analyzer = new NodeAnalyzer(); var tree = analyzer.Parse(expression); var mutator = new PlusToMinusMutator(); tree = mutator.MutateNode(tree); var computeVisitor = new ComputeVisitor(); computeVisitor.VisitNode(tree); computeVisitor.ComputedResult.Should().Be(expected); }
public void ComputeExpressionNotImplemented() { ComputeExpressionToken token = new ComputeExpressionToken(new EndPathToken("Identifier", null), "Id"); FakeVisitor visitor = new FakeVisitor(); Action visitUnaryOperatorToken = () => visitor.Visit(token); visitUnaryOperatorToken.ShouldThrow <NotImplementedException>(); Action acceptToken = () => token.Accept <string>(visitor); acceptToken.ShouldThrow <NotImplementedException>(); ComputeVisitor computer = new ComputeVisitor(); token.Accept <string>(computer).ShouldBeEquivalentTo(typeof(ComputeExpressionToken).ToString()); }
public void ComputeExpressionNotImplemented() { ComputeExpressionToken token = new ComputeExpressionToken(new EndPathToken("Identifier", null), "Id"); FakeVisitor visitor = new FakeVisitor(); Action visitUnaryOperatorToken = () => visitor.Visit(token); Assert.Throws <NotImplementedException>(visitUnaryOperatorToken); Action acceptToken = () => token.Accept <string>(visitor); Assert.Throws <NotImplementedException>(acceptToken); ComputeVisitor computer = new ComputeVisitor(); Assert.Equal(typeof(ComputeExpressionToken).ToString(), token.Accept <string>(computer)); }
public InRangeExpressionComputer() { _computeVisitor = new ComputeVisitor(GetVariable); }