public void SubscribeTest_Add()
        {
            // Setup
            var m   = new EzStateMachine <TestTrigger, TestState>(TestState.S0, TestState.S2);
            var sub = new TestSubscriber();
            // Action
            var ticket = m.Subscribe(sub);
            var result = m.IsSubscriber(sub);

            // Assert
            Assert.IsNotNull(ticket);
            Assert.IsTrue(result);
        }
        public void SubscribeTest_Add_Remove()
        {
            // Setup
            var m      = new EzStateMachine <TestTrigger, TestState>(TestState.S0, TestState.S2);
            var sub    = new TestSubscriber();
            var ticket = m.Subscribe(sub);

            // Action
            ticket.Dispose();
            var result = m.IsSubscriber(sub);

            // Assert
            Assert.IsFalse(result);
        }