public void RegisterHandle_NullEvent_ThrowsException()
        {
            var handle         = new UnityMessageEventHandle <UnityTestMessagePayload>();
            var responseObject = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();

            Assert.Throws <UnityMessageHandleException>(() => handle.RegisterHandle(null, responseObject.OnResponse));
        }
示例#2
0
        public void RegisterMessageEvent_NullDispatcher_ExceptionThrown()
        {
            TestUnityMessageEventDispatcherInterface dispatcherInterface = null;
            var responseObject = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();

            Assert.Throws <UnityMessageHandleException>(() =>
                                                        UnityMessageEventFunctions.RegisterActionWithDispatcher <UnityTestMessagePayload>(dispatcherInterface,
                                                                                                                                          responseObject.OnResponse));
        }
        public void UnregisterForMessageEvent_UnregistersHandle()
        {
            var dispatcher     = new UnityMessageEventDispatcher();
            var responseObject = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();

            var handle = dispatcher.RegisterForMessageEvent <UnityTestMessagePayload>(responseObject.OnResponse);

            dispatcher.UnregisterForMessageEvent(handle);
            Assert.IsFalse(handle.IsRegistered());
        }
示例#4
0
        public void UnregisterMessageEvent_UnregistersEvent()
        {
            var dispatcherInterface = new TestUnityMessageEventDispatcherInterface();
            var responseObject      = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();
            var handle = dispatcherInterface.Dispatcher.RegisterForMessageEvent <UnityTestMessagePayload>(responseObject.OnResponse);

            UnityMessageEventFunctions.UnregisterActionWithDispatcher(dispatcherInterface, handle);

            Assert.IsFalse(handle.IsRegistered());
        }
        public void UnregisterHandle_IsRegistered_False()
        {
            var handle     = new UnityMessageEventHandle <UnityTestMessagePayload>();
            var unityEvent = new UnityMessageEvent <UnityTestMessagePayload>();

            var responseObject = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();

            handle.RegisterHandle(unityEvent, responseObject.OnResponse);
            handle.UnregisterHandle(unityEvent);
            Assert.IsFalse(handle.IsRegistered());
        }
示例#6
0
        public void RegisterMessageEvent_RegistersMessageEvent()
        {
            var dispatcherInterface = new TestUnityMessageEventDispatcherInterface();
            var responseObject      = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();

            var handle = UnityMessageEventFunctions.RegisterActionWithDispatcher <UnityTestMessagePayload>(dispatcherInterface, responseObject.OnResponse);

            Assert.IsTrue(handle.IsRegistered());

            dispatcherInterface.Dispatcher.UnregisterForMessageEvent(handle);
        }
        public void RegisterHandle_ActionIsAddedAsListener()
        {
            var handle     = new UnityMessageEventHandle <UnityTestMessagePayload>();
            var unityEvent = new UnityMessageEvent <UnityTestMessagePayload>();

            var responseObject = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();

            handle.RegisterHandle(unityEvent, responseObject.OnResponse);
            unityEvent.Invoke(new UnityTestMessagePayload());
            Assert.IsTrue(responseObject.ActionCalled);
            handle.UnregisterHandle(unityEvent);
        }
        public void UnregisterForMessageEvent_NoLongerReceivesEvents()
        {
            var dispatcher     = new UnityMessageEventDispatcher();
            var responseObject = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();

            var handle = dispatcher.RegisterForMessageEvent <UnityTestMessagePayload>(responseObject.OnResponse);

            dispatcher.UnregisterForMessageEvent(handle);

            dispatcher.InvokeMessageEvent(new UnityTestMessagePayload());
            Assert.IsFalse(responseObject.ActionCalled);
        }
示例#9
0
        public void InvokeMessageEventWithDispatcher_InvokesEvent()
        {
            var dispatcherInterface = new TestUnityMessageEventDispatcherInterface();
            var responseObject      = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();
            var handle = dispatcherInterface.Dispatcher.RegisterForMessageEvent <UnityTestMessagePayload>(responseObject.OnResponse);

            UnityMessageEventFunctions.InvokeMessageEventWithDispatcher(dispatcherInterface, new UnityTestMessagePayload());

            Assert.IsTrue(responseObject.ActionCalled);

            dispatcherInterface.Dispatcher.UnregisterForMessageEvent(handle);
        }
        public void RegisterForMessageEventOfType_InvokeDoesNotReceiveMessagesOfOtherTypes()
        {
            var dispatcher     = new UnityMessageEventDispatcher();
            var responseObject = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();

            var handle = dispatcher.RegisterForMessageEvent <UnityTestMessagePayload>(responseObject.OnResponse);

            dispatcher.InvokeMessageEvent(new OtherUnityTestMessagePayload(false));

            Assert.IsFalse(responseObject.ActionCalled);

            dispatcher.UnregisterForMessageEvent(handle);
        }
        public void RegisterForMessageEventOfType_InvokeReceivesMessageWithExpectedArgs()
        {
            var dispatcher     = new UnityMessageEventDispatcher();
            var responseObject = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();

            var handle = dispatcher.RegisterForMessageEvent <UnityTestMessagePayload>(responseObject.OnResponse);

            dispatcher.InvokeMessageEvent(new UnityTestMessagePayload(false));

            Assert.IsTrue(responseObject.ActionCalled);
            Assert.IsFalse(responseObject.MessagePayload.Flag);

            dispatcher.UnregisterForMessageEvent(handle);
        }
        public void RegisterForMessageEventOfType_InvokeReceivesMessageWithExpectedArgsForAllRegisteredListeners()
        {
            var dispatcher           = new UnityMessageEventDispatcher();
            var firstResponseObject  = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();
            var secondResponseObject = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>();
            var thirdResponseObject  = new UnityTestMessageHandleResponseObject <OtherUnityTestMessagePayload>();

            var firstHandle  = dispatcher.RegisterForMessageEvent <UnityTestMessagePayload>(firstResponseObject.OnResponse);
            var secondHandle = dispatcher.RegisterForMessageEvent <UnityTestMessagePayload>(secondResponseObject.OnResponse);
            var thirdHandle  = dispatcher.RegisterForMessageEvent <OtherUnityTestMessagePayload>(thirdResponseObject.OnResponse);

            dispatcher.InvokeMessageEvent(new UnityTestMessagePayload());

            Assert.IsTrue(firstResponseObject.ActionCalled);
            Assert.IsTrue(secondResponseObject.ActionCalled);
            Assert.IsFalse(thirdResponseObject.ActionCalled);

            dispatcher.UnregisterForMessageEvent(thirdHandle);
            dispatcher.UnregisterForMessageEvent(secondHandle);
            dispatcher.UnregisterForMessageEvent(firstHandle);
        }