Exemplo n.º 1
0
        public void MatchInactiveComponent()
        {
            GameObject             objectOne      = new GameObject();
            GameObject             objectTwo      = new GameObject();
            UnityEventListenerMock ruleOneMatched = new UnityEventListenerMock();
            UnityEventListenerMock ruleTwoMatched = new UnityEventListenerMock();

            RulesMatcher.Element elementOne = new RulesMatcher.Element()
            {
                rule = CreateRule(objectOne)
            };
            RulesMatcher.Element elementTwo = new RulesMatcher.Element()
            {
                rule = CreateRule(objectTwo)
            };

            elementOne.Matched.AddListener(ruleOneMatched.Listen);
            elementTwo.Matched.AddListener(ruleTwoMatched.Listen);

            subject.elements.Add(elementOne);
            subject.elements.Add(elementTwo);

            subject.enabled = false;

            Assert.IsFalse(ruleOneMatched.Received);
            Assert.IsFalse(ruleTwoMatched.Received);

            subject.Match(objectOne);

            Assert.IsFalse(ruleOneMatched.Received);
            Assert.IsFalse(ruleTwoMatched.Received);

            Object.DestroyImmediate(objectOne);
            Object.DestroyImmediate(objectTwo);
        }
Exemplo n.º 2
0
        public IEnumerator MatchMultiple()
        {
            GameObject             objectOne        = new GameObject();
            GameObject             objectTwo        = new GameObject();
            UnityEventListenerMock ruleOneMatched   = new UnityEventListenerMock();
            UnityEventListenerMock ruleTwoMatched   = new UnityEventListenerMock();
            UnityEventListenerMock ruleThreeMatched = new UnityEventListenerMock();

            RulesMatcher.Element elementOne = new RulesMatcher.Element()
            {
                Rule = CreateRule(objectOne)
            };
            RulesMatcher.Element elementTwo = new RulesMatcher.Element()
            {
                Rule = CreateRule(objectTwo)
            };
            RulesMatcher.Element elementThree = new RulesMatcher.Element()
            {
                Rule = CreateRule(objectOne)
            };

            elementOne.Matched.AddListener(ruleOneMatched.Listen);
            elementTwo.Matched.AddListener(ruleTwoMatched.Listen);
            elementThree.Matched.AddListener(ruleThreeMatched.Listen);

            RulesMatcherElementObservableList elements = containingObject.AddComponent <RulesMatcherElementObservableList>();

            yield return(null);

            subject.Elements = elements;

            elements.Add(elementOne);
            elements.Add(elementTwo);
            elements.Add(elementThree);

            Assert.IsFalse(ruleOneMatched.Received);
            Assert.IsFalse(ruleTwoMatched.Received);
            Assert.IsFalse(ruleThreeMatched.Received);

            subject.Match(objectOne);

            Assert.IsTrue(ruleOneMatched.Received);
            Assert.IsFalse(ruleTwoMatched.Received);
            Assert.IsTrue(ruleThreeMatched.Received);

            Object.DestroyImmediate(objectOne);
            Object.DestroyImmediate(objectTwo);
        }