Exemplo n.º 1
0
        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 );
        }
Exemplo n.º 2
0
        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" ) );
        }