Example #1
0
        public void TestcreateFreezeAlarm020_sansFreeze()
        {
            //GIVEN
            string   deviceId = "1";
            string   siteId   = "1";
            DateTime dateRef  = new DateTime(2018, 02, 14, 6, 0, 0);
            Mock <IDeviceRepository> deviceRepo             = new Mock <IDeviceRepository>();
            Mock <IFreezeRepository> freezeRepo             = new Mock <IFreezeRepository>();
            Dictionary <DateTime, FreezingProbability> dico = new Dictionary <DateTime, FreezingProbability>();

            // 020
            dico.Add(dateRef, FreezingProbability.ZERO);
            dico.Add(dateRef.AddHours(12), FreezingProbability.MEDIUM);
            dico.Add(dateRef.AddHours(24), FreezingProbability.ZERO);

            //WHEN
            AlarmService alarmService = new AlarmService(deviceRepo.Object, freezeRepo.Object);

            alarmService.CreateFreezeAlarm(deviceId, siteId, dico);

            //THEN
            deviceRepo.Verify(o => o.AddAlarm("1", It.Is <Alarm>(e =>
                                                                 e.AlarmGravity == Alarm.Gravity.Critical &&
                                                                 e.AlarmType == Alarm.Type.FreezeWarning &&
                                                                 e.Description.Contains("14/02/2018") &&
                                                                 e.Description.Contains("gel") &&
                                                                 e.Description.Contains("1") &&
                                                                 e.ShortDescription.Contains("Gel") &&
                                                                 e.ShortDescription.Contains("14/02/2018") &&
                                                                 e.Start == new DateTime(2018, 02, 14, 18, 0, 0) &&
                                                                 e.End == new DateTime(2018, 02, 14, 18, 0, 0))), Times.Once);

            deviceRepo.Verify(o => o.AddAlarm("1", It.Is <Alarm>(e =>
                                                                 e.AlarmGravity == Alarm.Gravity.Critical &&
                                                                 e.AlarmType == Alarm.Type.FreezeWarning &&
                                                                 e.Description.Contains("15/02/2018") &&
                                                                 e.Description.Contains("dégel") &&
                                                                 e.Description.Contains("1") &&
                                                                 e.ShortDescription.Contains("Dégel") &&
                                                                 e.ShortDescription.Contains("15/02/2018") &&
                                                                 e.Start == new DateTime(2018, 02, 15, 06, 0, 0) &&
                                                                 e.End == null)), Times.Once);
        }
Example #2
0
        public void TestcreateFreezeAlarm40_gel_gel_avecFreeze()
        {
            //GIVEN
            string   deviceId = "1";
            string   siteId   = "1";
            DateTime dateRef  = new DateTime(2018, 02, 14, 6, 0, 0);
            Mock <IDeviceRepository> deviceRepo = new Mock <IDeviceRepository>();
            Mock <IFreezeRepository> freezeRepo = new Mock <IFreezeRepository>();

            freezeRepo.Setup(o => o.GetLastFreezeByDevice("1")).Returns(new Freeze
            {
                Date            = new DateTime(2018, 02, 14, 0, 0, 0),
                DeviceId        = "1",
                TrustIndication = 4
            });
            Dictionary <DateTime, FreezingProbability> dico = new Dictionary <DateTime, FreezingProbability>();

            // 40
            dico.Add(dateRef, FreezingProbability.IMMINENT);
            dico.Add(dateRef.AddHours(12), FreezingProbability.ZERO);

            //WHEN
            AlarmService alarmService = new AlarmService(deviceRepo.Object, freezeRepo.Object);

            alarmService.CreateFreezeAlarm(deviceId, siteId, dico);

            //TODO : Alexis! Degel -> pas de date de fin

            //THEN
            deviceRepo.Verify(o => o.AddAlarm("1", It.Is <Alarm>(e =>
                                                                 e.AlarmGravity == Alarm.Gravity.Critical &&
                                                                 e.AlarmType == Alarm.Type.FreezeWarning &&
                                                                 e.Description.Contains("14/02/2018") &&
                                                                 e.Description.Contains("dégel") &&
                                                                 e.Description.Contains("1") &&
                                                                 e.ShortDescription.Contains("Dégel") &&
                                                                 e.ShortDescription.Contains("14/02/2018") &&
                                                                 e.Start == new DateTime(2018, 02, 14, 18, 0, 0) &&
                                                                 e.End == new DateTime(2018, 02, 14, 18, 0, 0))), Times.Once);
        }