Beispiel #1
0
        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);
        }
Beispiel #3
0
        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));
        }
Beispiel #5
0
 public InRangeExpressionComputer()
 {
     _computeVisitor = new ComputeVisitor(GetVariable);
 }