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)); }
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); } }
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)); }
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)); }
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; }