Esempio n. 1
0
        public void Trigger_DoesTransition()
        {
            var w      = new TestState("w");
            var j      = new TestState("j");
            var signal = new TestSignal()
            {
                Value = true
            };
            var signal2 = new TestSignal()
            {
                Value = false
            };

            w.Add(signal, () => j);
            j.Add(signal2, () => w);

            var n = w.Update(0.0f);

            Assert.AreEqual(j, n.Peek());
            Assert.AreEqual(w.enterCalled, 1);
            Assert.AreEqual(w.exitCalled, 1);
            Assert.AreEqual(signal.ResetCalled, 1);
            Assert.AreEqual(signal.UpdateCalled, 1);
            Assert.AreEqual(signal2.UpdateCalled, 0);

            var n2 = n.Peek().Update(0.0f);

            Assert.AreEqual(n.Peek(), n2.Peek());
            Assert.AreEqual(j.enterCalled, 1);
            Assert.AreEqual(j.exitCalled, 0);
            Assert.AreEqual(signal2.ResetCalled, 1);
            Assert.AreEqual(signal.ResetCalled, 1);
            Assert.AreEqual(signal.UpdateCalled, 1);
            Assert.AreEqual(signal2.UpdateCalled, 1);
        }
Esempio n. 2
0
        public void NoTrigger_DoesNotTransition()
        {
            var w = new TestState("w");
            var j = new TestState("j");

            w.Add(new TestSignal(), () => j);

            var n = w.Update(0.0f);

            Assert.AreEqual(w, n.Peek());
            Assert.AreEqual(w.enterCalled, 1);
            Assert.AreEqual(w.exitCalled, 0);
        }