public GreenHouseAnalyzer(TemperatureLevel saveDataLevel, TemperatureLevel logMessageLevel)
 {
     this.saveDataLevel   = saveDataLevel;
     this.logMessageLevel = logMessageLevel;
     dataSaver            = new DataSaver();
     greenHouseClient     = new GreenHouseClient();
 }
 public GreenHouseAnalyzer(TemperatureLevel saveDataLevel, TemperatureLevel logMessageLevel,
                           IDataSaver fakeDataSaver, IClient fakeGreenHouseClient)
 {
     this.saveDataLevel   = saveDataLevel;
     this.logMessageLevel = logMessageLevel;
     dataSaver            = fakeDataSaver;
     greenHouseClient     = fakeGreenHouseClient;
 }
Ejemplo n.º 3
0
 public void SetDeepFreeze() // режим высокой заморозки холодильника
 {
     if (Status)
     {
         freeze      = TemperatureLevel.DeepFreeze;
         Temperature = 2;
         temp        = Temperature;
         if (SetDeep != null)
         {
             SetDeep.Invoke("Установили режим высокой заморозки холодильника");
         }
     }
 }
Ejemplo n.º 4
0
 public void SetColderFreezing() // режим средней заморозки холодильника
 {
     if (Status)
     {
         freeze      = TemperatureLevel.ColderFreezing;
         Temperature = 4;
         temp        = Temperature;
         if (SetColder != null)
         {
             SetColder.Invoke("Установили режим средней заморозки холодильника");
         }
     }
 }
Ejemplo n.º 5
0
 public void SetLowFreeze() // режим низкой заморозки холодильника
 {
     if (Status)
     {
         freeze      = TemperatureLevel.LowFreeze;
         Temperature = 6;
         temp        = Temperature;
         if (SetLow != null)
         {
             SetLow.Invoke("Установили режим низкой заморозки холодильника");
         }
     }
 }
        public void AnalyzeData__InSaveDataMethodDataSaverExceptionHasToBeThrown(TemperatureLevel saveDataLevel, float temperature)
        {
            var analyzer = new GreenHouseAnalyzer(
                saveDataLevel: saveDataLevel,
                logMessageLevel: TemperatureLevel.All,
                fakeDataSaver: dataServer,
                fakeGreenHouseClient: greenHouseClient);

            greenHouseClient.Temperature  = temperature;
            dataServer.NeedThrowException = true;

            Assert.ThrowsException <DataSaverException>(() => analyzer.AnalyzeData());
        }
Ejemplo n.º 7
0
 public void SetDefrost() // режим разморозки холодильника
 {
     if (Status)
     {
         freeze      = TemperatureLevel.Defrost;
         Temperature = 15;
         Status      = false;
         lamp        = false;
         if (Defrosting != null)
         {
             Defrosting.Invoke("Установили режим размораживания холодильника");
         }
     }
 }
        public void AnalyzeData_SaveData_ShouldNotBeCalledDueToTheWrongTemperature(TemperatureLevel saveDataLevel, float temperature)
        {
            var analyzer = new GreenHouseAnalyzer(
                saveDataLevel: saveDataLevel,
                logMessageLevel: TemperatureLevel.All,
                fakeDataSaver: dataServer,
                fakeGreenHouseClient: greenHouseClient);

            greenHouseClient.Temperature = temperature;

            analyzer.AnalyzeData();

            Assert.AreEqual(dataServer.SaveDataMethodWasCalled, false);
        }
        public void AnalyzeData_SaveDataMethodInputValueShouldBeRight(TemperatureLevel level, float temperature)
        {
            var analyzer = new GreenHouseAnalyzer(
                saveDataLevel: level,
                logMessageLevel: TemperatureLevel.All,
                fakeDataSaver: dataServer,
                fakeGreenHouseClient: greenHouseClient);

            greenHouseClient.Temperature = temperature;

            analyzer.AnalyzeData();

            Assert.AreEqual(dataServer.SaveDataMethodInputValue, temperature);
        }
        public void AnalyzeData_LogMessageMethodShouldBeCalledWithRightValue(TemperatureLevel logLevel, float temperature, string rightValue)
        {
            var analyzer = new GreenHouseAnalyzer(
                saveDataLevel: TemperatureLevel.All,
                logMessageLevel: logLevel,
                fakeDataSaver: dataServer,
                fakeGreenHouseClient: greenHouseClient);

            greenHouseClient.Temperature = temperature;

            analyzer.AnalyzeData();

            Assert.AreEqual(dataServer.LogMessageMethodInputValue, rightValue);
        }
Ejemplo n.º 11
0
        public void Moq_AnalyzeData_SaveDataMethodShouldNotBeCalled(TemperatureLevel saveDataLevel, float temperature)
        {
            client.Setup(i => i.GetTemperature()).Returns(temperature);
            saver.Setup(d => d.SaveData(It.IsAny <float>()));

            var analyzer = new GreenHouseAnalyzer(
                saveDataLevel: saveDataLevel,
                logMessageLevel: TemperatureLevel.All,
                fakeDataSaver: saver.Object,
                fakeGreenHouseClient: client.Object);

            analyzer.AnalyzeData();

            saver.Verify(d => d.SaveData(temperature), Times.Never());
        }
Ejemplo n.º 12
0
        public void Moq_AnalyzeData_LogMessageMethodShouldBeCalled(TemperatureLevel logLevel, float temperature, string logMessage)
        {
            client.Setup(i => i.GetTemperature()).Returns(temperature);
            saver.Setup(d => d.LogMessage(It.IsAny <string>()));

            var analyzer = new GreenHouseAnalyzer(
                saveDataLevel: TemperatureLevel.All,
                logMessageLevel: logLevel,
                fakeDataSaver: saver.Object,
                fakeGreenHouseClient: client.Object);

            analyzer.AnalyzeData();

            saver.Verify(d => d.LogMessage(logMessage), Times.Once());
        }
Ejemplo n.º 13
0
        /// <summary>
        /// Retrieve color for given temperature levels
        /// </summary>
        private Color GetTemperatureColor(TemperatureLevel level)
        {
            switch (level)
            {
            case TemperatureLevel.Coldest:
                return(new Color(0, 255, 255));

            case TemperatureLevel.Colder:
                return(new Color(170, 255, 255));

            case TemperatureLevel.Cold:
                return(new Color(0, 229, 133));

            case TemperatureLevel.Warm:
                return(new Color(255, 255, 100));

            case TemperatureLevel.Warmer:
                return(new Color(255, 100, 0));

            default:
                return(new Color(241, 12, 0));
            }
        }