Exemplo n.º 1
0
        public void parse_関数引数取得1()
        {
            var node = new Node("SUM(2,3+4,5)");

            node.Parse();
            var nodes = Node.GetArgumentNodes(node);

            Assert.True(nodes [0].Type == NodeType.Constant);
            Assert.True(nodes [0].Expression == "2");
            Assert.True(nodes [1].Type == NodeType.Operator);
            Assert.True(nodes [1].Expression == "+");
            {
                Assert.True(nodes [1].Left.Expression == "3");
                Assert.True(nodes [1].Right.Expression == "4");
            }
            Assert.True(nodes [2].Type == NodeType.Constant);
            Assert.True(nodes [2].Expression == "5");
        }
Exemplo n.º 2
0
        public void parse_関数_3項()
        {
            var node = new Node("SUM(2,3+4,5)");

            node.Parse();
            Assert.True(node.Expression == "SUM");
            Assert.True(node.Type == NodeType.Function);
            Assert.True(node.Left.Expression == "2");
            Assert.True(node.Right.Expression == ",");
            {
                Assert.True(node.Right.Left.Expression == "+");
                {
                    Assert.True(node.Right.Left.Left.Expression == "3");
                    Assert.True(node.Right.Left.Right.Expression == "4");
                }
                Assert.True(node.Right.Right.Expression == "5");
            }

            var nodes = Node.GetArgumentNodes(node);
        }