public void Test_NewClassAddedToNewFile() { var newSyntaxTree = Helper.GetSyntaxTree("Test_NewClassAddedToNewFile"); var codeChangesVisitor = new CodeChangesVisitor(); codeChangesVisitor.Visit(newSyntaxTree, null); codeChangesVisitor.UpdatedMethods.Count.Should().Be(0); codeChangesVisitor.NewClassses.Count.Should().Be(1); }
public void Test_MethodUpdate_UpdateLine() { var newSyntaxTree = Helper.GetSyntaxTree("Test_MethodUpdate_UpdateLine"); var oldSyntaxTree = Helper.GetSyntaxTree("Test_MethodUpdate_UpdateLine.Old"); var codeChangesVisitor = new CodeChangesVisitor(); codeChangesVisitor.Visit(newSyntaxTree, oldSyntaxTree); codeChangesVisitor.UpdatedMethods.Count.Should().Be(1); codeChangesVisitor.NewClassses.Count.Should().Be(0); }
public void Test_NewPropertyAdded() { var newSyntaxTree = Helper.GetSyntaxTree("Test_NewPropertyAdded"); var oldSyntaxTree = Helper.GetSyntaxTree("Test_NewPropertyAdded.Old"); var codeChangesVisitor = new CodeChangesVisitor(); codeChangesVisitor.Visit(newSyntaxTree, oldSyntaxTree); codeChangesVisitor.UpdatedMethods.Count.Should().Be(0); codeChangesVisitor.NewClassses.Count.Should().Be(0); codeChangesVisitor.NewFields.Count.Should().Be(0); codeChangesVisitor.NewProperties.Count.Should().Be(1); }
public CodeChangeRequest CompareTree(SyntaxTree newSyntaxTree, SyntaxTree oldSyntaxTree, SemanticModel semanticModel) { var codeChangesVisitor = new CodeChangesVisitor(); codeChangesVisitor.Visit(newSyntaxTree, oldSyntaxTree); var updateMethods = new List <Method>(); foreach (var mds in codeChangesVisitor.UpdatedMethods) { var interpreterHandler = new StatementInterpreterHandler(mds, semanticModel); var method = interpreterHandler.GetMethod(); updateMethods.Add(method); } var request = new CodeChangeRequest(); request.UpdateMethods = updateMethods; return(request); }