public void UnregisterMessageType_TypeNullSend10Messages_Receive0Messages() { // arrange ILogManager logManagerMock = this.mocks.NewMock<ILogManager>(); Stub.On( logManagerMock ).Method( "Trace" ).WithAnyArguments(); IMainLoopManager loopManagerMock = this.mocks.NewMock<IMainLoopManager>(); Stub.On( loopManagerMock ).EventAdd( "HeartbeatEnded" ); MessageManager m = new MessageManager( logManagerMock, loopManagerMock ); int sendTimes = 10; int receiveCount = 0; EventHandler<ActionRequestEventArgs> a = ( sender, args ) => { receiveCount++; }; m.RegisterMessageType( null, a ); // act m.UnregisterMessageType( null, a, false ); for ( int i = 0; i < sendTimes; i++ ) { m.SendMessage( this, "blah" ); } // assert Assert.AreEqual( 0, receiveCount ); }
public void UnregisterMessageType10Times_ValidParametersRemoveAll_MessageRegistryEmpty() { // arrange ILogManager logManagerMock = this.mocks.NewMock<ILogManager>(); Stub.On( logManagerMock ).Method( "Trace" ).WithAnyArguments(); IMainLoopManager loopManagerMock = this.mocks.NewMock<IMainLoopManager>(); Stub.On( loopManagerMock ).EventAdd( "HeartbeatEnded" ); MessageManager m = new MessageManager( logManagerMock, loopManagerMock ); int addTimes = 10; EventHandler<ActionRequestEventArgs> a = ( sender, args ) => { }; for ( int i = 0; i < addTimes; i++ ) { m.RegisterMessageType( "test", a ); } // act m.UnregisterMessageType( "test", a, true ); // assert Assert.AreEqual( 0, m.GetInvocationCountForType( "test" ) ); }
public void SendBufferedMessages_MessageTypeRegistered10Times_10MessagesDispatchedBufferEmpty() { // arrange ILogManager logManagerMock = this.mocks.NewMock<ILogManager>(); Stub.On( logManagerMock ).Method( "Trace" ).WithAnyArguments(); IMainLoopManager loopManagerMock = this.mocks.NewMock<IMainLoopManager>(); Stub.On( loopManagerMock ).EventAdd( "HeartbeatEnded" ); MessageManager m = new MessageManager( logManagerMock, loopManagerMock ); int registerTimes = 10; int sendsCounter = 0; EventHandler<ActionRequestEventArgs> a = ( sender, args ) => { sendsCounter++; }; for ( int i = 0; i < registerTimes; i++ ) { m.RegisterMessageType( "test", a ); } m.SendMessage( this, "test" ); // act m.SendBufferedMessages(); // assert Assert.AreEqual( registerTimes, sendsCounter ); Assert.AreEqual( 0, m.MessageBufferCount ); }
public void SendMessage_MessageTypeRegistered_MessageHandledSuccessfully() { // arrange ILogManager logManagerMock = this.mocks.NewMock<ILogManager>(); Stub.On( logManagerMock ).Method( "Trace" ).WithAnyArguments(); IMainLoopManager loopManagerMock = this.mocks.NewMock<IMainLoopManager>(); Stub.On( loopManagerMock ).EventAdd( "HeartbeatEnded" ); MessageManager m = new MessageManager( logManagerMock, loopManagerMock ); EventHandler<ActionRequestEventArgs> a = ( sender, args ) => { }; m.RegisterMessageType( "test", a ); // act m.SendMessage( this, "test" ); // assert Assert.AreEqual( 1, m.MessageBufferCount ); }
public void RegisterMessageType_ValidParameters_MessageSuccessfullyRegisterred() { // arrange ILogManager logManagerMock = this.mocks.NewMock<ILogManager>(); Stub.On( logManagerMock ).Method( "Trace" ).WithAnyArguments(); IMainLoopManager loopManagerMock = this.mocks.NewMock<IMainLoopManager>(); Stub.On( loopManagerMock ).EventAdd( "HeartbeatEnded" ); MessageManager m = new MessageManager( logManagerMock, loopManagerMock ); // act m.RegisterMessageType( "test", ( sender, args ) => { } ); // assert Assert.AreEqual( 1, m.MessageHandlers.Count<KeyValuePair<string,EventHandler<ActionRequestEventArgs>>>() ); }