Пример #1
0
        public void CodeText_WhenAllFormattingsRun_OutputsExpectedCodeText(string inputString, string fileName, string expectedOutput)
        {
            TestHelper.InitializeConfig(TestData.TestConfig);
            CSharpSyntaxNode root = TestHelper.CreateCSharpSyntaxRoot(inputString);

            var        regionRemover = new RegionRemover();
            SyntaxNode regionRoot    = regionRemover.Visit(root);

            var        usingsHelper = new UsingsPlacer();
            SyntaxNode usingsRoot   = usingsHelper.ProcessUsings(regionRoot);

            var        fhf     = new FileHeaderFormatter();
            SyntaxNode fhfRoot = fhf.AddHeader(usingsRoot, fileName);

            var        sorter     = new CSharpSorter();
            SyntaxNode sorterRoot = sorter.Visit(fhfRoot);

            var        newLineFormatter = new NewlineFormatter();
            SyntaxNode newLineRoot      = newLineFormatter.Visit(sorterRoot);

            var        ebf     = new ExpressionBodiedFormatter();
            SyntaxNode ebfRoot = ebf.Visit(newLineRoot);

            string actualOutput = ebfRoot.ToFullString();

            Debug.WriteLine(actualOutput);
            Assert.That(actualOutput, Is.EqualTo(expectedOutput));
        }
Пример #2
0
        private async Task FormatAndSortCodeAsync()
        {
            try
            {
                Document activeDocument = await VisualStudioHelper.GetActiveDocumentAsync();

                if (VisualStudioHelper.FileIsExcludedType(activeDocument.FilePath))
                {
                    return;
                }

                SyntaxNode root = await VisualStudioHelper.GetDocumentRootAsync(activeDocument);

                bool isCSharpDocument = root.Language == VisualStudioHelper.CSharpLanguageName;
                if (!isCSharpDocument)
                {
                    return;
                }

                var        regionRemover = new RegionRemover();
                SyntaxNode regionRoot    = regionRemover.Visit(root);

                var        usingsPlacer = new UsingsPlacer();
                SyntaxNode usingsRoot   = usingsPlacer.ProcessUsings(regionRoot);

                string     fileName = Path.GetFileName(activeDocument.FilePath);
                var        fhf      = new FileHeaderFormatter();
                SyntaxNode fhfRoot  = fhf.AddHeader(usingsRoot, fileName);

                var        sorter     = new CSharpSorter();
                SyntaxNode sorterRoot = sorter.Visit(fhfRoot);

                var        accessModifier = new AccessLevelModifierFormatter();
                SyntaxNode accessRoot     = accessModifier.Visit(sorterRoot);

                var        newLineFormatter = new NewlineFormatter();
                SyntaxNode newLineRoot      = newLineFormatter.Visit(accessRoot);

                var        ebf     = new ExpressionBodiedFormatter();
                SyntaxNode ebfRoot = ebf.Visit(newLineRoot);

                Document newDocument = activeDocument.WithSyntaxRoot(ebfRoot);
                bool     success     = await VisualStudioHelper.ApplyDocumentChangesAsync(newDocument);

                await VisualStudioHelper.InvokeCommandAsync(VisualStudioHelper.RunDefaultCodeCleanup);

                await VisualStudioHelper.InvokeCommandAsync(VisualStudioHelper.FormatDocumentCommandName);
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }
        }
Пример #3
0
        public void CodeText_WhenRegionAndNewlineFormattingsRun_OutputsExpectedText(string inputString, string expectedOutput)
        {
            TestHelper.InitializeConfig(TestData.TestConfig);
            CSharpSyntaxNode root = TestHelper.CreateCSharpSyntaxRoot(inputString);

            var        regionRemover      = new RegionRemover();
            SyntaxNode removedRegionsNode = regionRemover.Visit(root);

            var        newLineFormatter = new NewlineFormatter();
            SyntaxNode newLineRoot      = newLineFormatter.Visit(removedRegionsNode);

            string actualOutput = newLineRoot.ToFullString();

            Debug.WriteLine(actualOutput);
            Assert.That(actualOutput, Is.EqualTo(expectedOutput));
        }
Пример #4
0
        public void CodeText_WhenSorterIsRunWithWhitespaceFormatter_OutputsSortedCodeText(string inputString, string expectedOutput)
        {
            TestHelper.InitializeConfig(TestData.TestConfig);
            CSharpSyntaxNode root = TestHelper.CreateCSharpSyntaxRoot(inputString);

            var        sh           = new CSharpSorter();
            SyntaxNode sortedOutput = sh.Visit(root);

            var        newlineFormatter = new NewlineFormatter();
            SyntaxNode formattedOutput  = newlineFormatter.Visit(sortedOutput);

            string actualOutput = formattedOutput.ToFullString();

            Debug.WriteLine(actualOutput);
            Assert.That(actualOutput, Is.EqualTo(expectedOutput));
        }
Пример #5
0
 public FormsCompanionsBonusFeatureForm(FormsCompanionsBonusFeature f)
 {
     bf = f;
     InitializeComponent();
     basicFeature1.Feature = f;
     foreach (string s in FormsCompanionsFeatureForm.MONSTER_FEATURES)
     {
         UniqueID.AutoCompleteCustomSource.Add(s);
         UniqueID.Items.Add(s);
     }
     Program.Context.ImportSpells();
     foreach (Spell s in Program.Context.SpellsSimple.Values)
     {
         if (s.FormsCompanionsFilter != null && s.FormsCompanionsFilter != "" && s.FormsCompanionsFilter != "false")
         {
             UniqueID.AutoCompleteCustomSource.Add(s.Name.ToLowerInvariant());
             UniqueID.Items.Add(s.Name.ToLowerInvariant());
         }
     }
     UniqueID.DataBindings.Add("Text", f, "UniqueID", true, DataSourceUpdateMode.OnPropertyChanged);
     HPBonus.DataBindings.Add("Text", f, "HPBonus", true, DataSourceUpdateMode.OnPropertyChanged);
     ACBonus.DataBindings.Add("Text", f, "ACBonus", true, DataSourceUpdateMode.OnPropertyChanged);
     SavesBonus.DataBindings.Add("Text", f, "SavesBonus", true, DataSourceUpdateMode.OnPropertyChanged);
     SkillsBonus.DataBindings.Add("Text", f, "SkillsBonus", true, DataSourceUpdateMode.OnPropertyChanged);
     StrengthBonus.DataBindings.Add("Text", f, "StrengthBonus", true, DataSourceUpdateMode.OnPropertyChanged);
     DexterityBonus.DataBindings.Add("Text", f, "DexterityBonus", true, DataSourceUpdateMode.OnPropertyChanged);
     ConstitutionBonus.DataBindings.Add("Text", f, "ConstitutionBonus", true, DataSourceUpdateMode.OnPropertyChanged);
     IntelligenceBonus.DataBindings.Add("Text", f, "IntelligenceBonus", true, DataSourceUpdateMode.OnPropertyChanged);
     WisdomBonus.DataBindings.Add("Text", f, "WisdomBonus", true, DataSourceUpdateMode.OnPropertyChanged);
     CharismaBonus.DataBindings.Add("Text", f, "CharismaBonus", true, DataSourceUpdateMode.OnPropertyChanged);
     TraitBonusName.DataBindings.Add("Text", f, "TraitBonusName", true, DataSourceUpdateMode.OnPropertyChanged);
     DamageBonus.DataBindings.Add("Text", f, "DamageBonus", true, DataSourceUpdateMode.OnPropertyChanged);
     AttackBonus.DataBindings.Add("Text", f, "AttackBonus", true, DataSourceUpdateMode.OnPropertyChanged);
     NewlineFormatter.Add(TraitBonusText.DataBindings, "Text", f, "TraitBonusText", true, DataSourceUpdateMode.OnPropertyChanged);
     Senses.Items    = f.Senses;
     Speed.Items     = f.Speed;
     Languages.Items = f.Languages;
 }