예제 #1
0
        public void Test_Flattern_1()
        {
            /*
             * x+(2y+3z)
             */
            var x = new Var('x');
            var y = new Var('y');
            var z = new Var('z');
            var term2 = new Term(Expression.Multiply, new List<object>() { 2, y });
            var term3 = new Term(Expression.Multiply, new List<object>() { 3, z });
            var expr1 = new Term(Expression.Add, new List<object>() { term2, term3 });
            var expr = new Term(Expression.Add, new List<object>() { x, expr1 });

            Term obj = expr.FlatTerm();
            Assert.NotNull(obj);
            var lst = obj.Args as List<object>;
            Assert.NotNull(lst);
            Assert.True(lst.Count == 3);
        }