public void ExtensionMethodTest() { var logger = new MockLogger(); logger.Reset(); logger.CouldNotOpenSocket("microsoft.com"); Assert.Equal(LogLevel.Critical, logger.LastLogLevel); Assert.Null(logger.LastException); Assert.Equal("Could not open socket to `microsoft.com`", logger.LastFormattedString); Assert.Equal(1, logger.CallCount); logger.Reset(); logger.CouldNotOpenSocketNoNamespace("microsoft.com"); Assert.Equal(LogLevel.Critical, logger.LastLogLevel); Assert.Null(logger.LastException); Assert.Equal("Could not open socket to `microsoft.com`", logger.LastFormattedString); Assert.Equal(1, logger.CallCount); // same as above, but this time with explicit type references rather than extension method syntax so we can vouch for the namespaces being used logger.Reset(); global::Microsoft.Extensions.Logging.Generators.Tests.LoggerExtensions.CouldNotOpenSocket(logger, "microsoft.com"); Assert.Equal(LogLevel.Critical, logger.LastLogLevel); Assert.Null(logger.LastException); Assert.Equal("Could not open socket to `microsoft.com`", logger.LastFormattedString); Assert.Equal(1, logger.CallCount); logger.Reset(); global::LoggerExtensionsNoNamespace.CouldNotOpenSocketNoNamespace(logger, "microsoft.com"); Assert.Equal(LogLevel.Critical, logger.LastLogLevel); Assert.Null(logger.LastException); Assert.Equal("Could not open socket to `microsoft.com`", logger.LastFormattedString); Assert.Equal(1, logger.CallCount); }
public void EnableTest() { var logger = new MockLogger(); logger.Reset(); logger.Enabled = false; var d = LoggerExtensions.Wrap(logger); d.CouldNotOpenSocket("microsoft.com"); Assert.Equal(0, logger.CallCount); // ensure the logger doesn't get called when it is disabled logger.CouldNotOpenSocket("microsoft.com"); Assert.Equal(0, logger.CallCount); // ensure the logger doesn't get called when it is disabled }