예제 #1
0
 public ExpectedExceptionCodeAction(Document document, MethodDeclarationSyntax methodToBeFixed)
 {
     this.document        = document;
     this.methodToBeFixed = methodToBeFixed;
     migrator             = new ExpectedExceptionMethodMigrator(methodToBeFixed);
     equivalences         = ExpectedExceptionTestCaseEquivalence.CreateMany(migrator);
     methodLineSeparator  = GetMethodLineSeparator(methodToBeFixed);
 }
예제 #2
0
        private MethodDeclarationSyntax ProduceTestMethodForTestCaseWithExpectedExceptionEquivalence(
            ExpectedExceptionTestCaseEquivalence equivalence, int equivalenceCount, TestMethodNamer testMethodNamer)
        {
            var testCasesToRemain   = equivalence.EquivalentItems.Select(i => i.AttributeNode).ToArray();
            var exceptionExpectancy = equivalence.EquivalentItems.First();

            var clusterMethod = methodToBeFixed.WithoutExceptionExpectancyInAttributes(testCasesToRemain)
                                .WithBody(CreateAssertedBlock(exceptionExpectancy)).WithTrailingTrivia(CreateClusterMethodTrailingTrivia(equivalence))
                                .WithIdentifier(testMethodNamer.CreateName(exceptionExpectancy, equivalenceCount));

            return(clusterMethod);
        }
예제 #3
0
 private SyntaxTriviaList CreateClusterMethodTrailingTrivia(ExpectedExceptionTestCaseEquivalence equivalence)
 {
     return(equivalence == equivalences.Last()
         ? methodToBeFixed.GetTrailingTrivia()
         : methodLineSeparator);
 }