public void Parse_Single_A() { var input = new[] { Node.Make(new SymA()) }; var node = mParseTable.Parse(input); }
public void SimpleAdd() { // 1 + 1 var input = new[] { Node.Make(new Numeric(1)), Node.Make(new OpAdd()), Node.Make(new Numeric(1)) }; var output = mTable.Parse(input); Assert.AreEqual(2, (output.Payload as Expr)?.Eval()); }
public void ThreeNumbers() { var minus = new Minus(); var node = mTable.Parse(new[] { Node.Make(new A(1)), Node.Make(minus), Node.Make(new A(2)), Node.Make(minus), Node.Make(new A(3)) }); Assert.AreEqual(-4, (node.Payload as Expr)?.Eval()); }