public void UpdateDeviceInfo_WhenCalled_SetVariablesAndCameraInfoInAllFilters() { filterWheelSettingsMock.SetupGet(m => m.FilterWheelFilters) .Returns(new ObserveAllCollection <FilterInfo>() { new FilterInfo("Filter", 0, 0), new FilterInfo("Filter2", 0, 0) }); // setup sut = new FlatWizardVM(profileServiceMock.Object, imagingVMMock.Object, cameraMediatorMock.Object, filterWheelMediatorMock.Object, telescopeMediatorMock.Object, _flatDeviceMediatorMock.Object, resourceDictionaryMock.Object, applicationStatusMediatorMock.Object) { FlatWizardExposureTimeFinderService = exposureServiceMock.Object, Locale = localeMock.Object, }; var cameraInfo = new CameraInfo { Connected = true, BitDepth = 16 }; // act sut.UpdateDeviceInfo(cameraInfo); // assert sut.CameraConnected.Should().BeTrue(); sut.SingleFlatWizardFilterSettings.BitDepth.Should().Be(cameraInfo.BitDepth); sut.Filters.Select(m => m.BitDepth).Should().AllBeEquivalentTo(cameraInfo.BitDepth); }
public void UpdateFilterWheelSettings_WhenCalled_UpdateFiltersListAndKeepSelectedFilter() { // setup var filters = new ObserveAllCollection <FilterInfo>() { new FilterInfo("Filter", 0, 0), new FilterInfo("Filter2", 0, 0) }; filterWheelSettingsMock.SetupGet(m => m.FilterWheelFilters) .Returns(filters); sut = new FlatWizardVM(profileServiceMock.Object, imagingVMMock.Object, cameraMediatorMock.Object, filterWheelMediatorMock.Object, telescopeMediatorMock.Object, _flatDeviceMediatorMock.Object, resourceDictionaryMock.Object, applicationStatusMediatorMock.Object) { FlatWizardExposureTimeFinderService = exposureServiceMock.Object, Locale = localeMock.Object, }; var selectedFilter = filters[0]; sut.SelectedFilter = selectedFilter; var cameraInfo = new CameraInfo { Connected = true, BitDepth = 16 }; // pre-assert sut.Filters.Select(f => f.Filter).Should().BeEquivalentTo(filters); sut.SelectedFilter.Should().BeEquivalentTo(selectedFilter); // remove one filter filters.RemoveAt(1); // update the camera info on existing filters sut.UpdateDeviceInfo(cameraInfo); // assert cameraInfo on all filters and unused filters are removed sut.Filters.Select(f => f.Filter).Should().BeEquivalentTo(filters); sut.Filters.Select(f => f.BitDepth).Should().AllBeEquivalentTo(cameraInfo.BitDepth); sut.SelectedFilter.Should().BeEquivalentTo(selectedFilter); // add another filter filters.Add(new FilterInfo("Filter2", 0, 0)); filters.Add(new FilterInfo("Filter3", 0, 0)); // assert cameraInfo still on all filters even on the ones that were added sut.Filters.Select(f => f.Filter).Should().BeEquivalentTo(filters); sut.Filters.Select(f => f.BitDepth).Should().AllBeEquivalentTo(cameraInfo.BitDepth); sut.SelectedFilter.Should().BeEquivalentTo(selectedFilter); }
public void UpdateFlatDeviceSettingsAndCheckFlatMagicWithNullFlatDevice() { sut = new FlatWizardVM(profileServiceMock.Object, imagingVMMock.Object, cameraMediatorMock.Object, filterWheelMediatorMock.Object, telescopeMediatorMock.Object, _flatDeviceMediatorMock.Object, resourceDictionaryMock.Object, applicationStatusMediatorMock.Object) { FlatWizardExposureTimeFinderService = exposureServiceMock.Object, Locale = localeMock.Object, }; sut.StartFlatSequenceCommand.Execute(new object()); _flatDeviceMediatorMock.Verify(m => m.CloseCover(), Times.Never); _flatDeviceMediatorMock.Verify(m => m.OpenCover(), Times.Never); }
public void Constructor_WhenInitialized_DoAllNecessaryCallsAndVerifyData() { var filters = new List <FilterInfo>() { new FilterInfo("Filter", 0, 0), new FilterInfo("Filter2", 0, 0) }; filterWheelSettingsMock.SetupGet(m => m.FilterWheelFilters) .Returns(new ObserveAllCollection <FilterInfo>(filters)); // act sut = new FlatWizardVM(profileServiceMock.Object, imagingVMMock.Object, cameraMediatorMock.Object, filterWheelMediatorMock.Object, telescopeMediatorMock.Object, _flatDeviceMediatorMock.Object, resourceDictionaryMock.Object, applicationStatusMediatorMock.Object) { FlatWizardExposureTimeFinderService = exposureServiceMock.Object, Locale = localeMock.Object, }; // assert sut.ImagingVM.Should().NotBeNull(); sut.StartFlatSequenceCommand.Should().NotBeNull(); sut.CancelFlatExposureSequenceCommand.Should().NotBeNull(); sut.PauseFlatExposureSequenceCommand.Should().NotBeNull(); sut.ResumeFlatExposureSequenceCommand.Should().NotBeNull(); sut.SingleFlatWizardFilterSettings.Should().NotBeNull(); sut.SingleFlatWizardFilterSettings.Filter.Should().BeNull(); flatWizardSettingsMock.Verify(m => m.HistogramMeanTarget, Times.Once); flatWizardSettingsMock.Verify(m => m.HistogramTolerance, Times.Once); flatWizardSettingsMock.Verify(m => m.StepSize, Times.Once); cameraSettingsMock.Verify(m => m.MaxFlatExposureTime, Times.Once); cameraSettingsMock.Verify(m => m.MinFlatExposureTime, Times.Once); flatWizardSettingsMock.Verify(m => m.FlatCount, Times.AtMost(2)); flatWizardSettingsMock.Verify(m => m.BinningMode, Times.AtMost(2)); filterWheelSettingsMock.Verify(m => m.FilterWheelFilters, Times.AtMost(2)); cameraMediatorMock.Verify(m => m.RegisterConsumer(sut), Times.Once); _flatDeviceMediatorMock.Verify(m => m.RegisterConsumer(sut), Times.Once); sut.Filters.Select(f => f.Filter).Should().BeEquivalentTo(filters); }
public async Task UpdateFlatDeviceSettingsAndCheckFlatMagicWithFlatDeviceThatDoesNotOpenCloseAsync() { sut = new FlatWizardVM(profileServiceMock.Object, imagingVMMock.Object, cameraMediatorMock.Object, filterWheelMediatorMock.Object, telescopeMediatorMock.Object, _flatDeviceMediatorMock.Object, resourceDictionaryMock.Object, applicationStatusMediatorMock.Object) { FlatWizardExposureTimeFinderService = exposureServiceMock.Object, Locale = localeMock.Object, }; _flatDevice.Connected = true; _flatDevice.SupportsOpenClose = false; sut.UpdateDeviceInfo(_flatDevice); await sut.StartFlatSequenceCommand.ExecuteAsync(new object()); _flatDeviceMediatorMock.Verify(m => m.CloseCover(), Times.Never); _flatDeviceMediatorMock.Verify(m => m.ToggleLight((object)true), Times.Once); _flatDeviceMediatorMock.Verify(m => m.SetBrightness(1.0), Times.Once); _flatDeviceMediatorMock.Verify(m => m.ToggleLight((object)false), Times.Once); _flatDeviceMediatorMock.Verify(m => m.OpenCover(), Times.Never); }