public void RegisterHandle_NullEvent_ThrowsException() { var handle = new UnityMessageEventHandle <UnityTestMessagePayload>(); var responseObject = new UnityTestMessageHandleResponseObject <UnityTestMessagePayload>(); Assert.Throws <UnityMessageHandleException>(() => handle.RegisterHandle(null, responseObject.OnResponse)); }
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()); }
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()); }
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); }
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); }