public void WhenIsCopyPasteUsingCtrlCAndCtrlVEnabledChanged_ThenIsDirtyIsTrueUntilApplied()
        {
            var viewModel = new TerminalOptionsViewModel(this.settingsRepository);

            Assert.IsFalse(viewModel.IsDirty);

            viewModel.IsCopyPasteUsingCtrlCAndCtrlVEnabled = !viewModel.IsCopyPasteUsingCtrlCAndCtrlVEnabled;

            Assert.IsTrue(viewModel.IsDirty);
        }
        public void WhenIsSelectUsingShiftArrrowEnabledChanged_ThenIsDirtyIsTrueUntilApplied()
        {
            var viewModel = new TerminalOptionsViewModel(this.settingsRepository);

            Assert.IsFalse(viewModel.IsDirty);

            viewModel.IsSelectUsingShiftArrrowEnabled = !viewModel.IsSelectUsingShiftArrrowEnabled;

            Assert.IsTrue(viewModel.IsDirty);
        }
        public void WhenIsQuoteConvertionOnPasteEnabledChanged_ThenIsDirtyIsTrueUntilApplied()
        {
            var viewModel = new TerminalOptionsViewModel(this.settingsRepository);

            Assert.IsFalse(viewModel.IsDirty);

            viewModel.IsQuoteConvertionOnPasteEnabled = !viewModel.IsQuoteConvertionOnPasteEnabled;

            Assert.IsTrue(viewModel.IsDirty);
        }
        public void WhenIsScrollingUsingCtrlHomeEndEnabledChanged_ThenIsDirtyIsTrueUntilApplied()
        {
            var viewModel = new TerminalOptionsViewModel(this.settingsRepository);

            Assert.IsFalse(viewModel.IsDirty);

            viewModel.IsScrollingUsingCtrlHomeEndEnabled = !viewModel.IsScrollingUsingCtrlHomeEndEnabled;

            Assert.IsTrue(viewModel.IsDirty);
        }
        public void WhenSettingDisabled_ThenIsCopyPasteUsingCtrlCAndCtrlVEnabledIsTrue()
        {
            var settings = this.settingsRepository.GetSettings();

            settings.IsCopyPasteUsingCtrlCAndCtrlVEnabled.BoolValue = false;
            this.settingsRepository.SetSettings(settings);

            var viewModel = new TerminalOptionsViewModel(this.settingsRepository);

            Assert.IsFalse(viewModel.IsCopyPasteUsingCtrlCAndCtrlVEnabled);
        }
        public void WhenSettingEnabled_ThenIsQuoteConvertionOnPasteEnabledIsTrue()
        {
            var settings = this.settingsRepository.GetSettings();

            settings.IsQuoteConvertionOnPasteEnabled.BoolValue = true;
            this.settingsRepository.SetSettings(settings);

            var viewModel = new TerminalOptionsViewModel(this.settingsRepository);

            Assert.IsTrue(viewModel.IsQuoteConvertionOnPasteEnabled);
        }
        public void WhenSettingDisabled_ThenIsSelectUsingShiftArrrowEnabledIsTrue()
        {
            var settings = this.settingsRepository.GetSettings();

            settings.IsSelectUsingShiftArrrowEnabled.BoolValue = false;
            this.settingsRepository.SetSettings(settings);

            var viewModel = new TerminalOptionsViewModel(this.settingsRepository);

            Assert.IsFalse(viewModel.IsSelectUsingShiftArrrowEnabled);
        }
        public void WhenSettingEnabled_ThenIsSelectAllUsingCtrlAEnabledIsTrue()
        {
            var settings = this.settingsRepository.GetSettings();

            settings.IsSelectAllUsingCtrlAEnabled.BoolValue = true;
            this.settingsRepository.SetSettings(settings);

            var viewModel = new TerminalOptionsViewModel(this.settingsRepository);

            Assert.IsTrue(viewModel.IsSelectAllUsingCtrlAEnabled);
        }
        public void WhenSettingEnabled_ThenIsCopyPasteUsingShiftInsertAndCtrlInsertEnabledIsTrue()
        {
            var settings = this.settingsRepository.GetSettings();

            settings.IsCopyPasteUsingShiftInsertAndCtrlInsertEnabled.BoolValue = true;
            this.settingsRepository.SetSettings(settings);

            var viewModel = new TerminalOptionsViewModel(this.settingsRepository);

            Assert.IsTrue(viewModel.IsCopyPasteUsingShiftInsertAndCtrlInsertEnabled);
        }
        public void WhenDisablingIsCopyPasteUsingCtrlCAndCtrlVEnabled_ThenChangeIsApplied()
        {
            var settings = this.settingsRepository.GetSettings();

            settings.IsCopyPasteUsingCtrlCAndCtrlVEnabled.BoolValue = true;
            this.settingsRepository.SetSettings(settings);

            var viewModel = new TerminalOptionsViewModel(this.settingsRepository)
            {
                IsCopyPasteUsingCtrlCAndCtrlVEnabled = false
            };

            viewModel.ApplyChanges();

            settings = this.settingsRepository.GetSettings();
            Assert.IsFalse(settings.IsCopyPasteUsingCtrlCAndCtrlVEnabled.BoolValue);
        }