예제 #1
0
        public void WhenKeyIsMissing_ThenNoDevicesAreSelected()
        {
            var viewModel = new ScreenOptionsViewModel(
                this.settingsRepository);

            Assert.GreaterOrEqual(viewModel.Devices.Count(), 1);
            Assert.IsFalse(viewModel.Devices.Any(d => d.IsSelected));
        }
예제 #2
0
        public void WhenDeviceSelected_ThenIsDirtyIsSet()
        {
            var viewModel = new ScreenOptionsViewModel(
                this.settingsRepository);

            Assert.IsFalse(viewModel.IsDirty);
            Assert.GreaterOrEqual(viewModel.Devices.Count(), 1);

            viewModel.Devices.First().IsSelected = true;

            Assert.IsTrue(viewModel.IsDirty);
        }
예제 #3
0
        public void WhenKeyContainsUnknownDevice_ThenNoDevicesAreSelected()
        {
            var settings = this.settingsRepository.GetSettings();

            settings.FullScreenDevices.StringValue = "unknown\\device,and junk";
            this.settingsRepository.SetSettings(settings);

            var viewModel = new ScreenOptionsViewModel(
                this.settingsRepository);

            Assert.GreaterOrEqual(viewModel.Devices.Count(), 1);
            Assert.IsFalse(viewModel.Devices.Any(d => d.IsSelected));
        }
예제 #4
0
        public void WhenKeyContainsDevices_ThenDevicesAreSelected()
        {
            var settings = this.settingsRepository.GetSettings();

            settings.FullScreenDevices.StringValue = "unknown," + Screen.PrimaryScreen.DeviceName;
            this.settingsRepository.SetSettings(settings);

            var viewModel = new ScreenOptionsViewModel(
                this.settingsRepository);

            Assert.GreaterOrEqual(viewModel.Devices.Count(), 1);
            Assert.IsTrue(viewModel.Devices
                          .First(d => d.DeviceName == Screen.PrimaryScreen.DeviceName)
                          .IsSelected);
        }
예제 #5
0
        public void WhenDeviceSelected_ThenKeyIsUpdated()
        {
            var settings = this.settingsRepository.GetSettings();

            this.settingsRepository.SetSettings(settings);

            var viewModel = new ScreenOptionsViewModel(
                this.settingsRepository);

            viewModel.Devices.First().IsSelected = true;
            viewModel.ApplyChanges();

            Assert.AreEqual(
                Screen.PrimaryScreen.DeviceName,
                this.settingsRepository.GetSettings().FullScreenDevices.StringValue);
        }
예제 #6
0
        public void WhenAllDevicesDeselected_ThenKeyIsRemoved()
        {
            var settings = this.settingsRepository.GetSettings();

            settings.FullScreenDevices.StringValue = "unknown\\device,and junk";
            this.settingsRepository.SetSettings(settings);

            var viewModel = new ScreenOptionsViewModel(
                this.settingsRepository);

            viewModel.Devices.First().IsSelected = true;
            viewModel.Devices.First().IsSelected = false;
            viewModel.ApplyChanges();

            Assert.IsNull(this.settingsRepository.GetSettings().FullScreenDevices.StringValue);
        }