public void ActivatedEmittedOnSomeTrue()
        {
            MockAction actionA = containingObject.AddComponent <MockAction>();
            MockAction actionB = containingObject.AddComponent <MockAction>();

            actionA.SetIsActivated(false);
            actionB.SetIsActivated(false);

            subject.Actions.Add(actionA);
            subject.Actions.Add(actionB);

            UnityEventListenerMock activatedListenerMock   = new UnityEventListenerMock();
            UnityEventListenerMock deactivatedListenerMock = new UnityEventListenerMock();
            UnityEventListenerMock changedListenerMock     = new UnityEventListenerMock();

            subject.Activated.AddListener(activatedListenerMock.Listen);
            subject.Deactivated.AddListener(deactivatedListenerMock.Listen);
            subject.ValueChanged.AddListener(changedListenerMock.Listen);

            Assert.IsFalse(activatedListenerMock.Received);
            Assert.IsFalse(deactivatedListenerMock.Received);
            Assert.IsFalse(changedListenerMock.Received);

            actionA.SetIsActivated(true);
            actionB.SetIsActivated(false);

            Assert.IsTrue(activatedListenerMock.Received);
            Assert.IsFalse(deactivatedListenerMock.Received);
            Assert.IsTrue(changedListenerMock.Received);
        }
Esempio n. 2
0
        public void RemoveActionListenersCorrectly()
        {
            subject.enabled = false;

            GameObject otherObject = new GameObject();
            MockAction actionA     = otherObject.AddComponent <MockAction>();
            MockAction actionB     = otherObject.AddComponent <MockAction>();

            actionA.SetIsActivated(false);
            actionB.SetIsActivated(false);

            subject.Actions.Add(actionA);
            subject.Actions.Add(actionB);

            subject.enabled = true;

            Object.DestroyImmediate(otherObject);

            subject.enabled = false;
        }