コード例 #1
0
        public void Constructor_WithDuplicateProvider_ThrowsException()
        {
            // Arrange
            var validThreshold = LoggingEventType.Critical;
            LoggingProviderBase validFallbackProvider = null;

            LoggingProviderBase provider = new FakeLoggingProvider();

            LoggingProviderBase[] invalidProviderList = new[] { provider, provider };

            try
            {
                // Act
                new CompositeLoggingProvider(validThreshold, validFallbackProvider, invalidProviderList);

                // Assert
                Assert.Fail("Exception expected.");
            }
            catch (Exception ex)
            {
                Assert.IsInstanceOfType(ex, typeof(ArgumentException));

                var msg = ex.Message;

                Assert.IsTrue(msg.Contains("providers"), "Message should contain argument name.");
                Assert.IsTrue(msg.Contains("collection contains") && msg.Contains("duplicate references"),
                              "Message should be descriptive enough. Actual message: " + msg);
            }
        }
コード例 #2
0
        public void Constructor_WithInvalidThreshold_ThrowsException()
        {
            var invalidThreshold = (LoggingEventType)(-1);
            LoggingProviderBase validFallbackProvider = null;
            LoggingProviderBase validProvider         = new FakeLoggingProvider();

            // Act
            new CompositeLoggingProvider(invalidThreshold, validFallbackProvider, validProvider);
        }
コード例 #3
0
        public void Constructor_WithValidArguments_Succeeds()
        {
            // Arrange
            var validThreshold = LoggingEventType.Critical;
            LoggingProviderBase validFallbackProvider = null;
            LoggingProviderBase validProvider         = new FakeLoggingProvider();

            // Act
            new CompositeLoggingProvider(validThreshold, validFallbackProvider, validProvider);
        }
コード例 #4
0
        public void Constructor_WithMultipleProviders_Succeeds()
        {
            // Arrange
            var validThreshold = LoggingEventType.Critical;
            LoggingProviderBase validFallbackProvider = null;
            LoggingProviderBase provider1             = new FakeLoggingProvider();
            LoggingProviderBase provider2             = new FakeLoggingProvider();

            // Act
            new CompositeLoggingProvider(validThreshold, validFallbackProvider, provider1, provider2);
        }