Example #1
0
    public void ActionTest()
    {
        StateMachine sm = new StateMachine();

        sm.ReadFile(
            ":: condition a is (something)\n" +
            "   * Action\n" +
            "       > callback: (something) \"static\"\n" +
            "+ condition a is \"testy\"\n"
            );
        Assert.IsTrue(sm.IsTrue("condition a is \"testy\""));
        bool called = false;

        sm.AddCallback("callback", (string[] vars) => {
            called = true;
            Assert.AreEqual(2, vars.Length);
            Assert.AreEqual("testy", vars[0]);
            Assert.AreEqual("static", vars[1]);
        });
        sm.PerformAction("Action");
        Assert.IsTrue(called);
    }