public void UnregisterHandleNotRegistered_ThrowsException() { var dispatcher = new UnityMessageEventDispatcher(); var handle = new UnityMessageEventHandle <UnityTestMessagePayload>(); Assert.Throws <UnityMessageHandleException>(() => dispatcher.UnregisterForMessageEvent <UnityTestMessagePayload>(handle)); }
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 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 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); }
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); }
private void UnregisterForMessages() { _localDispatcher.UnregisterForMessageEvent(_gadgetUpdatedHandle); _localDispatcher.UnregisterForMessageEvent(_saveTriggerActivatedHandle); _localDispatcher.UnregisterForMessageEvent(_companionSlotsUpdatedHandle); _localDispatcher.UnregisterForMessageEvent(_pauseStatusChangedHandle); _localDispatcher.UnregisterForMessageEvent(_exitCinematicCameraHandle); _localDispatcher.UnregisterForMessageEvent(_enterCinematicCameraHandle); _localDispatcher.UnregisterForMessageEvent(_interactionStatusUpdatedHandle); _localDispatcher.UnregisterForMessageEvent(_activeInteractableUpdatedHandle); _localDispatcher.UnregisterForMessageEvent(_leftDeadActionStateHandle); _localDispatcher.UnregisterForMessageEvent(_enterDeadActionStateHandle); _localDispatcher.UnregisterForMessageEvent(_maxStaminaChangedEventHandle); _localDispatcher.UnregisterForMessageEvent(_staminaChangedEventHandle); _localDispatcher.UnregisterForMessageEvent(_maxHealthChangedEventHandle); _localDispatcher.UnregisterForMessageEvent(_healthChangedEventHandle); }
public void UnregisterNullHandle_ThrowsException() { var dispatcher = new UnityMessageEventDispatcher(); Assert.Throws <UnityMessageHandleException>(() => dispatcher.UnregisterForMessageEvent <UnityTestMessagePayload>(null)); }