コード例 #1
0
        public void GetScheduledInstrumentAlarmEventDownloadAction()
        {
            // arrange
            instrument     = Helper.GetInstrumentForTest(DeviceType.VPRO, DeviceSubType.VentisPro4);
            dockingStation = Helper.GetDockingStationForTest(DeviceType.MX4);
            InstrumentAlarmEventsDownloadOperation operation = new InstrumentAlarmEventsDownloadOperation();

            List <EventJournal> eventJournals = new List <EventJournal>();

            eventJournals.Add(new EventJournal(EventCode.GetCachedCode(EventCode.InstrumentDiagnostics), instrument.SerialNumber, DateTime.Now.AddMonths(-1), DateTime.Now.AddMonths(-1), true, instrument.SoftwareVersion));
            eventJournals.Add(new EventJournal(EventCode.GetCachedCode(EventCode.DownloadAlarmEvents), instrument.SerialNumber, DateTime.Now.AddMonths(-1), DateTime.Now.AddMonths(-1), true, instrument.SoftwareVersion));

            _eventJournalDataAccess.Setup(x => x.FindBySerialNumbers(It.IsAny <string[]>(), It.IsAny <IDataAccessTransaction>())).Returns(eventJournals);
            _eventJournalDataAccess.Setup(x => x.FindLastEventByInstrumentSerialNumber(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <IDataAccessTransaction>())).Returns(eventJournals);

            _scheduleDailyAccess.Setup(x => x.FindGlobalSchedules(It.IsAny <IDataAccessTransaction>())).Returns(new List <Schedule>()
            {
                new ScheduledDaily(DomainModelConstant.NullId, DomainModelConstant.NullId, string.Empty, EventCode.GetCachedCode(EventCode.DownloadAlarmEvents), EquipmentTypeCode.Instrument, string.Empty, true, true, 1, DateTime.Now.AddYears(-1), new TimeSpan(9, 0, 0))
            });

            Initialize();

            // act
            schema.Setup(x => x.Activated).Returns(true);
            dsEvent = new InstrumentAlarmEventsDownloadEvent(operation);
            CreateMasterForTest();
            nextAction = scheduler.GetNextAction(dsEvent);

            // assert
            Xunit.Assert.True(nextAction is InstrumentAlarmEventsDownloadAction);
        }
コード例 #2
0
        public void ExecuteAlarmEventDownload()
        {
            // arrange
            InstrumentAlarmEventsDownloadAction action = Helper.GetAlarmEventDownloadAction(DeviceType.MX4);

            InitializeForTest(action);

            InstrumentAlarmEventsDownloadOperation alarmDownloadOperation = new InstrumentAlarmEventsDownloadOperation(action);
            InstrumentAlarmEventsDownloadEvent     alarmDownloadEvent     = (InstrumentAlarmEventsDownloadEvent)alarmDownloadOperation.Execute();

            Assert.True(alarmDownloadEvent.AlarmEvents.Length == 0);
        }
コード例 #3
0
        public void GetInstrumentAlarmEventClearActionAsFollowUpActionForInstrumentAlarmEventDownloadToClearErrors()
        {
            // arrange
            InstrumentAlarmEventsDownloadOperation operation = new InstrumentAlarmEventsDownloadOperation();
            InstrumentAlarmEventsDownloadEvent     dsEvent   = new InstrumentAlarmEventsDownloadEvent(operation);

            dsEvent.Errors.Add(new DockingStationError("Test Error!"));
            Initialize();

            CreateMasterForTest();

            // act
            nextAction = scheduler.GetNextAction(dsEvent);

            // assert
            Xunit.Assert.True(nextAction is InstrumentAlarmEventsClearAction);
        }
コード例 #4
0
        public void GetInstrumentAlarmEventClearActionAsFollowUpActionForInstrumentAlarmEventDownloadToClearInstrumentAlarmEvents()
        {
            // arrange
            InstrumentAlarmEventsDownloadOperation operation = new InstrumentAlarmEventsDownloadOperation();
            InstrumentAlarmEventsDownloadEvent     dsEvent   = new InstrumentAlarmEventsDownloadEvent(operation);

            dsEvent.AlarmEvents = new AlarmEvent[] { new AlarmEvent() };
            Initialize();

            CreateMasterForTest();

            // act
            nextAction = scheduler.GetNextAction(dsEvent);

            // assert
            Xunit.Assert.True(nextAction is InstrumentAlarmEventsClearAction);
        }
コード例 #5
0
        public void ExecuteAlarmEventDownloadAndDownloadAlarmDetailsFromInstrument()
        {
            // arrange
            InstrumentAlarmEventsDownloadAction action = Helper.GetAlarmEventDownloadAction(DeviceType.GBPRO);

            InitializeForTest(action);

            DateTime alarmTime = DateTime.Now;

            instrumentController.Setup(x => x.GetAlarmEvents())
            .Returns(new AlarmEvent[1] {
                new AlarmEvent()
                {
                    InstrumentSerialNumber = action.Instrument.SerialNumber, AlarmOperatingMode = AlarmOperatingMode.Running, Duration = 10
                    , AlarmHigh            = 23.5, AlarmLow = 19.5, BaseUnitSerialNumber = string.Empty, GasCode = GasCode.O2, IsDocked = true
                    , IsDualSense          = false, PeakReading = 20.9, SensorCode = SensorCode.O2, SensorSerialNumber = "TESTSENSOR123"
                    , Site = string.Empty, User = string.Empty, SpeakerVoltage = 10, Ticks = 20, Timestamp = alarmTime, VibratingMotorVoltage = 10
                }
            });

            InstrumentAlarmEventsDownloadOperation alarmDownloadOperation = new InstrumentAlarmEventsDownloadOperation(action);
            InstrumentAlarmEventsDownloadEvent     alarmDownloadEvent     = (InstrumentAlarmEventsDownloadEvent)alarmDownloadOperation.Execute();

            Assert.True(alarmDownloadEvent.AlarmEvents.Length == 1 &&
                        alarmDownloadEvent.AlarmEvents[0].InstrumentSerialNumber == action.Instrument.SerialNumber &&
                        alarmDownloadEvent.AlarmEvents[0].AlarmOperatingMode == AlarmOperatingMode.Running &&
                        alarmDownloadEvent.AlarmEvents[0].Duration == 10 &&
                        alarmDownloadEvent.AlarmEvents[0].AlarmHigh == 23.5 &&
                        alarmDownloadEvent.AlarmEvents[0].AlarmLow == 19.5 &&
                        alarmDownloadEvent.AlarmEvents[0].BaseUnitSerialNumber == string.Empty &&
                        alarmDownloadEvent.AlarmEvents[0].GasCode == GasCode.O2 &&
                        alarmDownloadEvent.AlarmEvents[0].IsDocked == true &&
                        alarmDownloadEvent.AlarmEvents[0].IsDualSense == false &&
                        alarmDownloadEvent.AlarmEvents[0].PeakReading == 20.9 &&
                        alarmDownloadEvent.AlarmEvents[0].SensorCode == SensorCode.O2 &&
                        alarmDownloadEvent.AlarmEvents[0].SensorSerialNumber == "TESTSENSOR123" &&
                        alarmDownloadEvent.AlarmEvents[0].Site == string.Empty &&
                        alarmDownloadEvent.AlarmEvents[0].User == string.Empty &&
                        alarmDownloadEvent.AlarmEvents[0].SpeakerVoltage == 10 &&
                        alarmDownloadEvent.AlarmEvents[0].Ticks == 20 &&
                        alarmDownloadEvent.AlarmEvents[0].Timestamp == alarmTime &&
                        alarmDownloadEvent.AlarmEvents[0].VibratingMotorVoltage == 10);
        }