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 OnDeserialized(StreamingContext context) { if (filterWheelFilters != null) { // set default flatwizardsettings foreach (FilterInfo filter in filterWheelFilters.Where(f => f.FlatWizardFilterSettings == null)) { filter.FlatWizardFilterSettings = new FlatWizardFilterSettings(); } } else { filterWheelFilters = new ObserveAllCollection <FilterInfo>(); } }
public Profiles() { ProfileList = new ObserveAllCollection <IProfile>(); }
protected override void SetDefaultValues() { id = "No_Device"; filterWheelFilters = new ObserveAllCollection <FilterInfo>(); }