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" ) );
}
}
}