Ejemplo n.º 1
0
        public TestCopOptionPage(Lifetime lifetime, OptionsSettingsSmartContext settings, TemplateScopeManager scopeManager
                                 , IThemedIconManager iconManager, UIApplication application
                                 , StoredTemplatesProvider storedTemplatesProvider, ILiveTemplatesUIHelper templatesUiHelper, FileTemplatesManager fileTemplatesManager, ISolution solution = null)
        {
            _lifetime                = lifetime;
            _settings                = settings;
            _scopeManager            = scopeManager;
            _application             = application;
            _solution                = solution;
            _fileTemplatesManager    = fileTemplatesManager;
            _storedTemplatesProvider = storedTemplatesProvider;
            _templatesUiHelper       = templatesUiHelper;

            InitializeComponent();
            var testFileAnalysisSettings = settings.GetKey <TestFileAnalysisSettings>(SettingsOptimization.DoMeSlowly);

            InitializeComponent();
            BuildTestStrategyCombo(testFileAnalysisSettings);

            //Do this first as it is reference by other display fields
            testClassSuffixTextBox.BindWithRegexMatchesValidation(testFileAnalysisSettings, P(x => x.TestClassSuffix), "^[_a-zA-Z,]*$");

            //Regex Config for Multiple Test Assemply Logic via project naming
            testProjectNameRegExTextBox.BindWithValidationMustBeARegex(testFileAnalysisSettings, P(x => x.TestProjectNameToCodeProjectNameRegEx));
            testProjectNameRegExReplaceTextBox.BindWithRegexMatchesValidation(testFileAnalysisSettings, P(x => x.TestProjectNameToCodeProjectNameRegExReplace), "^[\\$\\.a-zA-Z1-9]*$");

            //Regex Config for Multiple Test Assemply Logic via namespace naming
            testNamespaceRegExTextBox.BindWithValidationMustBeARegex(testFileAnalysisSettings, P(x => x.TestProjectToCodeProjectNameSpaceRegEx));
            testNamespaceRegExReplaceTextBox.BindWithRegexMatchesValidation(testFileAnalysisSettings, P(x => x.TestProjectToCodeProjectNameSpaceRegExReplace), "^[\\$\\.a-zA-Z1-9]*$");
            //
            //Regex Config for Single Test Assemply Logic
            SingleTestNamespaceRegExTextBox.BindWithValidationMustBeARegex(testFileAnalysisSettings, P(x => x.SingleTestRegexTestToAssembly));
            SingleTestNamespaceToAssemblyRegExReplaceTextBox.BindWithRegexMatchesValidation(testFileAnalysisSettings, P(x => x.SingleTestRegexTestToAssemblyProjectReplace), "^[\\$\\.a-zA-Z1-9]*$");
            SingleTestNamespaceToAssemblySubNameSpaceRegExReplaceTextBox.BindWithRegexMatchesValidation(testFileAnalysisSettings, P(x => x.SingleTestRegexTestToAssemblyProjectSubNamespaceReplace), "^[\\$\\.a-zA-Z1-9]*$");
            SingleTestCodeNamespaceRegExTextBox.BindWithValidationMustBeARegex(testFileAnalysisSettings, P(x => x.SingleTestRegexCodeToTestAssembly));
            SingleTestCodeNamespaceToTestRegExReplaceTextBox.BindWithRegexMatchesValidation(testFileAnalysisSettings, P(x => x.SingleTestRegexCodeToTestReplace), "^[\\$\\.a-zA-Z1-9]*$");
            //
            testFileAnalysisSettings.TestingAttributes().ForEach(p => testingAttributesListBox.Items.Add(p));
            testFileAnalysisSettings.BddPrefixes().ForEach(p => contextPrefixesListBox.Items.Add(p));

            SwitchBetweenFilesShortcutTextBox.Text = testFileAnalysisSettings.ShortcutToSwitchBetweenFiles;
            RunTestsShortcutTextBox.Text           = testFileAnalysisSettings.ShortcutToRunTests;

            OrphanedFilesPatternsTextBox.Text = testFileAnalysisSettings.OrphanedFilesPatterns;

            BindWithValidationMustBeAFileTemplate(testFileAnalysisSettings, codeTemplateTextBox, P(x => x.CodeFileTemplateName));
            BindWithValidationMustBeAFileTemplate(testFileAnalysisSettings, unitTestTemplateTextBox, P(x => x.UnitTestFileTemplateName));

            ShowAllTestsWithUsageCheckBox.IsChecked   = testFileAnalysisSettings.FindAnyUsageInTestAssembly;
            CheckTestNamespaces.IsChecked             = testFileAnalysisSettings.CheckTestNamespaces;
            CheckSearchForOrphanedCodeFiles.IsChecked = testFileAnalysisSettings.FindOrphanedProjectFiles;
            SupportRenameRefactor.IsChecked           = testFileAnalysisSettings.SupportRenameRefactor;

            OutputPanelOpenOnKeyboardMapping.IsChecked = testFileAnalysisSettings.OutputPanelOpenOnKeyboardMapping;

            TestCopLogoImage.Source =
                (ImageSource) new BitmapToImageSourceConverter().Convert(
                    iconManager.Icons[UnnamedThemedIcons.Agent64x64.Id].CurrentGdipBitmap96, null, null, null);
        }
 public TestCopFileCreater(StoredTemplatesProvider storedTemplatesProvider
                           , ISettingsStore settingsStore
                           , IProjectFileExtensions fileExtensions
                           , DataContexts dataContexts, Lifetime lifetime, FileTemplatesManager fileTemplatesManager, TemplateScopeManager scopeManager)
 {
     _storedTemplatesProvider = storedTemplatesProvider;
     _settingsStore           = settingsStore;
     _dataContexts            = dataContexts;
     _lifetime             = lifetime;
     _fileTemplatesManager = fileTemplatesManager;
     _fileExtensions       = fileExtensions;
     _scopeManager         = scopeManager;
 }