public void ReceiveWithRuleRestrictions()
        {
            UnityEventListenerMock emittedMock = new UnityEventListenerMock();

            subject.Emitted.AddListener(emittedMock.Listen);

            FloatInRangeRule rule = subject.gameObject.AddComponent <FloatInRangeRule>();

            rule.Range = new FloatRange(2f, 4f);

            subject.ReceiveValidity = new RuleContainer
            {
                Interface = rule
            };

            Assert.AreEqual(0f, subject.Payload);
            Assert.IsFalse(emittedMock.Received);

            subject.Receive(3f);

            Assert.AreEqual(3f, subject.Payload);
            Assert.IsTrue(emittedMock.Received);

            emittedMock.Reset();

            Assert.IsFalse(emittedMock.Received);

            subject.Receive(1f);

            Assert.AreEqual(3f, subject.Payload);
            Assert.IsFalse(emittedMock.Received);
        }
Ejemplo n.º 2
0
 public void SetUp()
 {
     containingObject    = new GameObject();
     container           = new RuleContainer();
     subject             = containingObject.AddComponent <FloatInRangeRule>();
     container.Interface = subject;
 }