private void Form1_Load(object sender, EventArgs e) { VE[] list = { new VE("init", VE.TailOr("a", "b", "c"), InitState, () => { SetLog("!"); }), new VE("a", "b", () => { SetLog("a->b"); }), new VE("b", "a", () => { SetLog("b->a"); }), new VE("a", "a", () => { SetLog("a->a"); }), new VE("b", "b", () => { SetLog("b->b"); }), new VE(VE.HeadOr("a", "b"), "c", () => { SetLog("a|b->c"); }), new VE("c", VE.TailOr("a", "b"), () => { SetLog("c->a|b"); }) }; m_stateVector = new StateVector("init", list); }
public void Refresh_OK_ab_ac() { // 状態Aから状態B or Cへの変化条件が登録済みのため動作する int lambdaCheck = 0; VEFD func = () => { lambdaCheck++; }; VE[] list = { new VE( "a", VE.TailOr("b","c"), func) }; ins = new TW_StateVector("Refresh_OK_ab_ac", "a", list); ins.EnableRefreshTrace = true; ins.Refresh("b"); Assert.AreEqual(1, lambdaCheck); ins.StateNow = "a"; ins.Refresh("c"); Assert.AreEqual(2, lambdaCheck); }