Esempio n. 1
0
        public void Parse_PlusExpression_ReturnsCorrectTree()
        {
            string              text       = "1+2";
            ExpressionTree      tree       = ExpressionTree.Parse(text);
            AssertingEnumerator enumerator = new AssertingEnumerator(tree.Root.Expression);

            //   +
            //  / \
            // 1   2

            enumerator.AssertNode(NodeKind.BinaryExpression);
            enumerator.AssertNode(NodeKind.LiteralExpression);
            enumerator.AssertToken(NodeKind.NumberToken, "1");
            enumerator.AssertToken(NodeKind.PlusToken, TestingHelper.GetNodeKindText(NodeKind.PlusToken));
            enumerator.AssertNode(NodeKind.LiteralExpression);
            enumerator.AssertToken(NodeKind.NumberToken, "2");
        }
Esempio n. 2
0
        public void Parse_AssignmentExpression_ReturnsCorrectTree()
        {
            string              text       = "a = 1";
            ExpressionTree      tree       = ExpressionTree.Parse(text);
            AssertingEnumerator enumerator = new AssertingEnumerator(tree.Root.Expression);

            //   =
            //  / \
            // a   1

            enumerator.AssertNode(NodeKind.AssignmentExpression);
            enumerator.AssertNode(NodeKind.IdentifierExpression);
            enumerator.AssertToken(NodeKind.IdentifierToken, "a");
            enumerator.AssertToken(NodeKind.EqualsToken, TestingHelper.GetNodeKindText(NodeKind.EqualsToken));
            enumerator.AssertNode(NodeKind.LiteralExpression);
            enumerator.AssertToken(NodeKind.NumberToken, "1");
        }