public void ShouldRestoreAuxilaryHeaterStatus_IfThereWasRestart_DuringAuxilaryHeaterWorking() { AuxilaryHeaterEmulator.Init(2000); Launcher.Launch(Launcher.LaunchMode.WPF); Settings.Instance.SuspendAuxilaryHeaterResponseEmulation = false; ManualResetEvent waitHandle = new ManualResetEvent(false); AuxilaryHeater.StatusChanged += (status) => { if (status == AuxilaryHeaterStatus.Working) { waitHandle.Set(); } }; IntegratedHeatingAndAirConditioning.StartAuxilaryHeater(); bool result = waitHandle.Wait(5000); Assert.IsTrue(result); waitHandle.Reset(); AuxilaryHeater.Status = AuxilaryHeaterStatus.Unknown; result = waitHandle.Wait(3000); Assert.IsTrue(result); Assert.IsTrue(AuxilaryHeater.Status == AuxilaryHeaterStatus.Working); }
public MainWindow() { InitializeComponent(); _viewModel = new ViewModel(); DataContext = _viewModel; InstrumentClusterElectronicsEmulator.Init(); NavigationModuleEmulator.Init(); AuxilaryHeaterEmulator.Init(); RadioEmulator.Init(); DigitalDieselElectronicsEmulator.Init(); FrontDisplayEmulator.Init(); HeadlightVerticalAimControlEmulator.Init(); IntegratedHeatingAndAirConditioningEmulator.Init(); VolumioEmulator.Init(_viewModel); Launcher.Launch(Launcher.LaunchMode.WPF); //AuxilaryHeaterEmulator.FirstMessageAfterWakeup(); InstrumentClusterElectronics.IgnitionStateChanged += (e) => { if (e.PreviousIgnitionState == IgnitionState.Acc && e.CurrentIgnitionState == IgnitionState.Ign) { InstrumentClusterElectronicsEmulator.StartAnnounce(); } if (e.PreviousIgnitionState == IgnitionState.Ign && e.CurrentIgnitionState == IgnitionState.Acc) { InstrumentClusterElectronicsEmulator.StopAnnounce(); } }; Bordmonitor.ReplyToScreenUpdates = true; Bordmonitor.TextReceived += Bordmonitor_TextReceived; FrontDisplayEmulator.LedChanged += FrontDisplayEmulator_LedChanged; InstrumentClusterElectronicsEmulator.OBCTextChanged += InstrumentClusterElectronicsEmulator_OBCTextChanged; //BordmonitorMenu.Instance.CurrentScreen = HomeScreen.Instance; Manager.Instance.AddMessageReceiverForSourceDevice(DeviceAddress.Radio, m => { this.Dispatcher.Invoke(() => { if (m.Data.StartsWith(Radio.DataRadioOn)) { EnableRadio(); } if (m.Data.StartsWith(Radio.DataRadioOff)) { DisableRadio(); } }); }); #if !DebugOnRealDeviceOverFTDI //Launcher.emulator.IsEnabled = true; #endif }
public void ShouldStartAndStopAuxilaryHeater() { AuxilaryHeaterEmulator.Init(2000); Launcher.Launch(Launcher.LaunchMode.WPF); Settings.Instance.SuspendAuxilaryHeaterResponseEmulation = false; ManualResetEvent waitHandle = new ManualResetEvent(false); AuxilaryHeaterStatus status1 = AuxilaryHeaterStatus.Unknown; AuxilaryHeaterStatus status2 = AuxilaryHeaterStatus.Unknown; AuxilaryHeaterStatus status3 = AuxilaryHeaterStatus.Unknown; AuxilaryHeater.StatusChanged += (status) => { if (status == AuxilaryHeaterStatus.Starting) { status1 = AuxilaryHeaterStatus.Starting; } if (status == AuxilaryHeaterStatus.Started) { status2 = AuxilaryHeaterStatus.Started; } if (status == AuxilaryHeaterStatus.Working) { status3 = AuxilaryHeaterStatus.Working; } if (status == AuxilaryHeaterStatus.Working) { waitHandle.Set(); } }; IntegratedHeatingAndAirConditioning.StartAuxilaryHeater(); bool result = waitHandle.Wait(5000); Assert.IsTrue(result); Assert.IsTrue(status1 == AuxilaryHeaterStatus.Starting); Assert.IsTrue(status2 == AuxilaryHeaterStatus.Started); Assert.IsTrue(status3 == AuxilaryHeaterStatus.Working); waitHandle.Reset(); AuxilaryHeaterStatus status4 = AuxilaryHeaterStatus.Stopping; AuxilaryHeaterStatus status5 = AuxilaryHeaterStatus.Stopped; AuxilaryHeater.StatusChanged += (status) => { if (status == AuxilaryHeaterStatus.Stopping) { status4 = AuxilaryHeaterStatus.Stopping; } if (status == AuxilaryHeaterStatus.Stopped) { status5 = AuxilaryHeaterStatus.Stopped; } if (status == AuxilaryHeaterStatus.Stopped) { waitHandle.Set(); } }; IntegratedHeatingAndAirConditioning.StopAuxilaryHeater(); result = waitHandle.Wait(3000); Assert.IsTrue(result); Assert.IsTrue(status4 == AuxilaryHeaterStatus.Stopping); Assert.IsTrue(status5 == AuxilaryHeaterStatus.Stopped); }