public void Message( LoggerHistorySink sut, string message )
		{
			var logger = new LoggerConfiguration().WriteTo.Sink( sut ).CreateLogger();

			logger.Information( message );

			var item = sut.Events.Only();
			Assert.NotNull( item );

			Assert.Equal( LogEventLevel.Information, item.Level );
		}
		public void Fatal( LoggerHistorySink sut, string message, FatalApplicationException error )
		{
			var logger = new LoggerConfiguration().WriteTo.Sink( sut ).CreateLogger();

			logger.Fatal( error, message );

			var item = sut.Events.Only();
			Assert.NotNull( item );

			Assert.Equal( LogEventLevel.Fatal, item.Level );
			Assert.Contains( message, item.RenderMessage() );
			Assert.Equal( error, item.Exception );
		}
		public void Verify()
		{
			var history = LoggingHistory.Default.Get();
			var sink = new LoggerHistorySink();
			LoggingConfiguration.Default.Seed.Assign( o => new LoggerConfiguration().WriteTo.Sink( sink ) );

			var system = SystemLogger.Default.Get();
			system.Information( "Hello World!" );

			Assert.Empty( sink.Events );
			var events = history.Events.ToImmutableHashSet();
			Assert.Single( events );

			var logger = Logger.Default.ToScope().Get();
			Assert.Empty( history.Events );
			var set = sink.Events.ToImmutableHashSet();
			Assert.Single( set );
			Assert.Equal( events, set );

			Assert.NotSame( system, logger );
			
			Assert.Same( logger, SystemLogger.Default.Get() );
		}