public void IsNameTakenMultipleChildSpaces() { parent.AddChildSpace(child); var child2 = new LocalDeclarationSpace(); parent.AddChildSpace(child2); var input = @" class Foo { void Bar() { { int $i; } } }"; var context = TestRefactoringContext.Create(input); child2.AddDeclaration("i", context.GetNode <VariableInitializer>()); Assert.That(parent.IsNameUsed("i"), "The declaration was not added to parent correctly."); Assert.That(!child.IsNameUsed("i"), "child contained the declaration, event though it shouldn't."); Assert.That(child2.IsNameUsed("i"), "child2 did not contain the declaration, event though it should have."); Assert.That(!parent.IsNameUsed("j"), "parent contained a non-existent declaration."); Assert.That(!child.IsNameUsed("j"), "parent contained a non-existent declaration."); Assert.That(!child2.IsNameUsed("j"), "parent contained a non-existent declaration."); }
static LocalDeclarationSpaceVisitor GetVisitor(out TestRefactoringContext context, string input) { context = TestRefactoringContext.Create(input); var visitor = new LocalDeclarationSpaceVisitor(); context.RootNode.AcceptVisitor(visitor); return(visitor); }
protected static void CheckFix(TestRefactoringContext ctx, CodeIssue issue, string expectedOutput, int fixIndex = 0) { using (var script = ctx.StartScript()) issue.Actions[fixIndex].Run(script); if (expectedOutput != ctx.Text) { Console.WriteLine("expected:"); Console.WriteLine(expectedOutput); Console.WriteLine("got:"); Console.WriteLine(ctx.Text); } Assert.AreEqual(expectedOutput, ctx.Text); }
protected static void CheckFix(TestRefactoringContext ctx, IEnumerable <CodeIssue> issues, string expectedOutput) { using (var script = ctx.StartScript()) { foreach (var issue in issues) { issue.Actions.First().Run(script); } } bool pass = expectedOutput == ctx.Text; if (!pass) { Console.WriteLine(ctx.Text); } Assert.AreEqual(expectedOutput, ctx.Text); }
public void ContainsNameSimpleVariableDeclaration() { parent.AddChildSpace(child); var input = @" class Foo { void Bar() { int $i; } }"; var context = TestRefactoringContext.Create(input); child.AddDeclaration("i", context.GetNode <VariableInitializer>()); Assert.That(child.ContainsName("i", false), "The declaration was not added to child correctly."); Assert.That(!parent.ContainsName("i", false), "parent incorrectly contained the declaration."); Assert.That(parent.ContainsName("i", true), "parent did not contain the declaration, event though it should have."); }
protected static void CheckBatchFix(TestRefactoringContext ctx, IEnumerable <CodeIssue> issues, object siblingKey, string expectedOutput) { using (var script = ctx.StartScript()) { foreach (var issue in issues) { var actions = issue.Actions.Where(a => a.SiblingKey == siblingKey).ToList(); Assert.IsTrue(actions.Count <= 1, "At most a single action expected per sibling key and issue."); actions.First(a => a.SiblingKey == siblingKey).Run(script); } } bool pass = expectedOutput == ctx.Text; if (!pass) { Console.WriteLine("expected:"); Console.WriteLine(expectedOutput); Console.WriteLine("got:"); Console.WriteLine(ctx.Text); } Assert.AreEqual(expectedOutput, ctx.Text); }
public void SetUp() { compilation = TestRefactoringContext.Create("").Compilation; typeResolveContext = compilation.TypeResolveContext; intType = GetIType <int>(); }
protected static List <CodeIssue> GetIssuesWithSubIssue(CodeIssueProvider action, string input, string subIssue, out TestRefactoringContext context, bool expectErrors = false) { context = TestRefactoringContext.Create(input, expectErrors); return(new List <CodeIssue> (action.GetIssues(context, subIssue))); }
protected static List <CodeIssue> GetIssues(CodeIssueProvider action, string input, out TestRefactoringContext context, bool expectErrors = false, CSharpParser parser = null) { context = TestRefactoringContext.Create(input, expectErrors, parser); return(new List <CodeIssue> (action.GetIssues(context))); }
protected static void CheckFix(TestRefactoringContext ctx, CodeIssue issue, string expectedOutput, int fixIndex = 0) { using (var script = ctx.StartScript()) issue.Actions[fixIndex].Run(script); Assert.AreEqual(expectedOutput, ctx.Text); }
RefactoringContext MakeContext(string input, bool expectErrors = false) { var context = TestRefactoringContext.Create(input, expectErrors); return(context); }
protected static List <CodeIssue> GetIssues(ICodeIssueProvider action, string input, out TestRefactoringContext context) { context = TestRefactoringContext.Create(input); return(new List <CodeIssue> (action.GetIssues(context))); }