コード例 #1
0
        public void Data_SameCallbackCanBeAddedTwice()
        {
            Events.SubscribeToEvent(callbacks.AData, EventType.A);
            Events.SubscribeToEvent(callbacks.AData, EventType.A);

            Events.FireEvent(EventType.A, CallbackData.String("a"));

            Assert.AreEqual(2, callbacks.a, "Event callback was not called 2 times");
        }
コード例 #2
0
        public void Data_ResetWorks()
        {
            Events.SubscribeToEvent(callbacks.AData, EventType.A);
            Events.Reset();

            Events.FireEvent(EventType.A, CallbackData.String("a"));

            Assert.AreEqual(0, callbacks.a, "Event callback was called");
            Assert.AreEqual(null, dataString, "Was called");
        }
コード例 #3
0
        public void Data_CallbackSupportMultipleCallbacks()
        {
            Events.SubscribeToEvent(callbacks.AData, EventType.A);
            Events.SubscribeToEvent(callbacks.BData, EventType.A);

            Events.FireEvent(EventType.A, CallbackData.String("a"));

            Assert.AreEqual(1, callbacks.a, "Event callback A was not called");
            Assert.AreEqual(1, callbacks.b, "Event callback B was not called");

            Assert.AreEqual("a", dataString);
        }
コード例 #4
0
        public void Data_SubscriptionsCanBeOverwritten()
        {
            Events.SubscribeToEvent(callbacks.AData, EventType.A);
            Events.SubscribeToEvent(callbacks.AData, EventType.A);

            Events.OverrideSubscription(callbacks.BData, EventType.A);

            Events.FireEvent(EventType.A, CallbackData.String("a"));

            Assert.AreEqual(0, callbacks.a, "Event callback was not overridden");
            Assert.AreEqual(1, callbacks.b, "Overriding callback was not called");
        }
コード例 #5
0
        public void Data_OnlyMatchingCallbacksAreRemoved()
        {
            Events.SubscribeToEvent(callbacks.AData, EventType.A);
            Events.SubscribeToEvent(callbacks.BData, EventType.A);

            Events.UnsubscribeFromEvent(callbacks.AData, EventType.A);

            Events.FireEvent(EventType.A, CallbackData.String("a"));

            Assert.AreEqual(0, callbacks.a, "Event callback was called");
            Assert.AreEqual(1, callbacks.b, "Event callback was not called");

            Assert.AreEqual("a", dataString, "Data was not transmitted succesfully");
        }
コード例 #6
0
        public void Data_CallbacksAreCalled()
        {
            Events.SubscribeToEvent(callbacks.AData, EventType.A);
            Events.SubscribeToEvent(callbacks.BData, EventType.B);
            Events.SubscribeToEvent(callbacks.CData, EventType.C);

            Events.FireEvent(EventType.A, CallbackData.String("a"));
            Events.FireEvent(EventType.B, CallbackData.String("b"));
            Events.FireEvent(EventType.C, CallbackData.String("c"));

            Assert.AreEqual(1, callbacks.a, "Event callback was not called");
            Assert.AreEqual(1, callbacks.b, "Event callback was not called");
            Assert.AreEqual(1, callbacks.c, "Event callback was not called");

            Assert.AreEqual(1, a, "Event callback was not called");
            Assert.AreEqual(1, b, "Event callback was not called");
            Assert.AreEqual(1, c, "Event callback was not called");

            Assert.AreEqual("c", dataString, "Data was not transmitted succesfully");
        }