void Create() { { var m = new ActivityMonitor(); } { var m = new ActivityMonitor( applyAutoConfigurations: false ); } { IActivityMonitor m = new ActivityMonitor(); var counter = new ActivityMonitorErrorCounter(); m.Output.RegisterClient( counter ); m.Fatal().Send( "An horrible error occurred." ); Assert.That( counter.Current.FatalCount == 1 ); m.Output.UnregisterClient( counter ); } { IActivityMonitor m = new ActivityMonitor(); int errorCount = 0; using( m.OnError( () => ++errorCount ) ) { m.Fatal().Send( "An horrible error occurred." ); } Assert.That( errorCount == 1 ); } { IActivityMonitor m = new ActivityMonitor(); m.MinimalFilter = LogFilter.Off; // ... m.MinimalFilter = LogFilter.Debug; } { IActivityMonitor m = new ActivityMonitor(); m.MinimalFilter = LogFilter.Terse; using( m.SetMinimalFilter( LogFilter.Debug ) ) { Assert.That( m.ActualFilter == LogFilter.Debug ); } Assert.That( m.ActualFilter == LogFilter.Terse, "Filter has been restored to previous value." ); } { IActivityMonitor m = new ActivityMonitor(); m.MinimalFilter = LogFilter.Off; // ... using( m.OpenWarn().Send( "Ouch..." ) ) { Assert.That( m.ActualFilter == LogFilter.Off ); m.MinimalFilter = LogFilter.Debug; // ... in debug filter ... } Assert.That( m.ActualFilter == LogFilter.Off, "Back to Off." ); var strange = new LogFilter( LogLevelFilter.Fatal, LogLevelFilter.Trace ); } }