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 SendBufferedMessages_NoMessagesRegistered_NothingHappensBufferEmpty() { // 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++; }; m.SendMessage( this, "test" ); // act m.SendBufferedMessages(); // assert Assert.AreEqual( 0, 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 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 ); }