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); }
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); }
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); }
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); }
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); }