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()); }
public void LogHandler_ShouldHaveAllLevelsEnabledByDefault() { //Arrange TestLogHandler testLogHandler = new TestLogHandler(); List <LogLevel> listOfAllLogLevels = new List <LogLevel>((LogLevel[])Enum.GetValues(typeof(LogLevel))); IReadOnlyCollection <LogLevel> testLogHandlerLogLevels = testLogHandler.GetEnabledLogLevels(); //Act //Assert Assert.NotNull(testLogHandler.GetEnabledLogLevels()); Assert.Equal(listOfAllLogLevels.Count, testLogHandlerLogLevels.Count); Assert.False(listOfAllLogLevels.Except(testLogHandlerLogLevels).Any()); //Subtracting both lists should result in an empty list. If not, it means that one of the lists contained a LogLevel multiple times, which is an invalid state. }