public void LogHandler_ShouldCopyProvidedArrayOfEnabledLogLevels() { //Arrange LogLevel[] logLevels1 = Enum.GetValues <LogLevel>(); LogLevel[] logLevels2 = new LogLevel[] { LogLevel.INFO }; LogLevel[] logLevels3 = new LogLevel[0]; TestLogHandler testLogHandler1 = new TestLogHandler(logLevels1); TestLogHandler testLogHandler2 = new TestLogHandler(logLevels2); TestLogHandler testLogHandler3 = new TestLogHandler(logLevels3); IReadOnlyCollection <LogLevel> testLogHandlerLogLevels1 = testLogHandler1.GetEnabledLogLevels(); IReadOnlyCollection <LogLevel> testLogHandlerLogLevels2 = testLogHandler2.GetEnabledLogLevels(); IReadOnlyCollection <LogLevel> testLogHandlerLogLevels3 = testLogHandler3.GetEnabledLogLevels(); //Act //Assert Assert.NotNull(testLogHandler1.GetEnabledLogLevels()); Assert.NotNull(testLogHandler2.GetEnabledLogLevels()); Assert.NotNull(testLogHandler3.GetEnabledLogLevels()); Assert.Equal(logLevels1.Length, testLogHandlerLogLevels1.Count); Assert.Equal(logLevels2.Length, testLogHandlerLogLevels2.Count); Assert.Equal(logLevels3.Length, testLogHandlerLogLevels3.Count); Assert.False(logLevels1.Except(testLogHandlerLogLevels1).Any()); Assert.False(logLevels2.Except(testLogHandlerLogLevels2).Any()); Assert.False(logLevels3.Except(testLogHandlerLogLevels3).Any()); }