Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }