static public MockLogSettingsManager NewNotSpecified()
        {
            MockLogSettingsManager manager = new MockLogSettingsManager();

            manager.Specified = false;
            return(manager);
        }
        static public MockLogSettingsManager NewSpecified(bool enable)
        {
            MockLogSettingsManager manager = new MockLogSettingsManager();

            manager.Specified = true;
            manager.Enable    = enable;
            return(manager);
        }
        public void Test_LoggingEnabled_DebugMode_InfoLevel_SettingsTrue_ReturnsTrue()
        {
            LogSupervisor supervisor = new LogSupervisor();

            supervisor.ModeDetector    = new MockModeDetector(true);
            supervisor.SettingsManager = MockLogSettingsManager.NewSpecified(true);

            bool isEnabled = supervisor.LoggingEnabled(LogLevel.Info);

            Assert.IsTrue(isEnabled, "Should have been true.");
        }
        public void Test_IsEnabled_MockType_DebugMode_DebugLevel_SettingsNotSpecified_ReturnsFalse()
        {
            LogSupervisor supervisor = new LogSupervisor();

            supervisor.ModeDetector    = new MockModeDetector(true);
            supervisor.SettingsManager = MockLogSettingsManager.NewNotSpecified();

            bool isEnabled = supervisor.IsEnabled("MockType", LogLevel.Debug);

            Assert.IsFalse(isEnabled, "Should have been true.");
        }