public void Assignment() { IContext ctx = new SimpleContext(); Node root = new SequenceNode("Root", null, false); root.Children.Add(new IntegerAssignmentCmd("VarA", 1234)); root.Children.Add(new IntegerAssignmentCmd("VarB", 4321)); Node p = root; var ret = p.Tick(ctx); Console.WriteLine("END-RUN: {0} VarA={1}, VarB={2}", ret, ctx.GetInteger("VarA"), ctx.GetInteger("VarB")); Assert.AreEqual(ctx.GetInteger("VarA"), 1234); Assert.AreEqual(ctx.GetInteger("VarB"), 4321); }
public void Repeat() { var ctx = new SimpleContext(); var init = 0; //DateTime.UtcNow.Ticks % 0xFFFFFF; for (int i = 1; i < 128; i++) { ctx.SetInteger("A" + i, init); var chg = new IntegerChangeCmd("A" + i, 1); var rep = new RepeaterNode("Repeat", chg, i); while (Result.Processing == rep.Tick(ctx)) { } Assert.AreEqual(init + i, ctx.GetInteger("A" + i)); } }
public void Assignments() { Random r = new Random(); var c = new SimpleContext(); for (int i = 0; i < 128; i++) { var q = r.Next(); if (r.Next() % 2 == 0) { q = -q; } var n = new IntegerAssignmentCmd("A" + i, q); n.Tick(c); Assert.AreEqual(q, c.GetInteger("A" + i)); } }
IContext CreateCompare(long a, long b, Comparison c) { IContext ctx = new SimpleContext(); Node root = new SequenceNode("Root", null, false); root.Children.Add(new IntegerAssignmentCmd("VarA", a)); root.Children.Add(new IntegerAssignmentCmd("VarB", b)); Node cmp = new IntegerCompareNode("compare", "VarA", c, "VarB"); cmp.Children.Add(new IntegerAssignmentCmd("Result", 1)); root.Children.Add(cmp); Node p = root; Console.WriteLine("BEGIN RUN {0} {1} {2}", a, c, b); var ret = p.Tick(ctx); Console.WriteLine("END-RUN: {0} C={1}", ret, ctx.GetInteger("C")); return(ctx); }