CK.Core.Tests.Monitoring.ActivityMonitorMultiThreadTests.simple_reentrancy_detection C# (CSharp) Method

simple_reentrancy_detection() private method

private simple_reentrancy_detection ( ) : void
return void
        public void simple_reentrancy_detection()
        {
            IActivityMonitor monitor = new ActivityMonitor();
            using( monitor.Output.CreateBridgeTo( TestHelper.ConsoleMonitor.Output.BridgeTarget ) )
            {
                int clientCount = monitor.Output.Clients.Count;
                Assert.That( monitor.Output.Clients.Count, Is.EqualTo( clientCount ) );

                BuggyActivityMonitorClient client = new BuggyActivityMonitorClient( monitor );
                monitor.Output.RegisterClient( client );
                Assert.That( monitor.Output.Clients.Count, Is.EqualTo( clientCount + 1 ) );
                monitor.Info().Send( "Test" );
                Assert.That( monitor.Output.Clients.Count, Is.EqualTo( clientCount ) );

                Assert.DoesNotThrow( () => monitor.Info().Send( "Test" ) );
            }
        }
    }