public void ShouldNotMutate()
        {
            var target = new AssignmentStatementMutator();

            var originalNode = SyntaxFactory.AssignmentExpression(
                SyntaxKind.SimpleAssignmentExpression,
                SyntaxFactory.IdentifierName("a"),
                SyntaxFactory.IdentifierName("b")
                );
            var result = target.ApplyMutations(originalNode).ToList();

            result.ShouldBeEmpty();
        }
Beispiel #2
0
        public void ShouldNotMutateStringLiteralsBoth()
        {
            var target = new AssignmentStatementMutator();

            var originalNode = SyntaxFactory.AssignmentExpression(
                SyntaxKind.AddAssignmentExpression,
                SyntaxFactory.LiteralExpression(SyntaxKind.StringLiteralExpression),
                SyntaxFactory.LiteralExpression(SyntaxKind.StringLiteralExpression)
                );
            var result = target.ApplyMutations(originalNode).ToList();

            result.ShouldBeEmpty();
        }
        public void AssignmentMutator_ShouldMutate(SyntaxKind input, SyntaxKind expectedOutput)
        {
            var target       = new AssignmentStatementMutator();
            var originalNode = SyntaxFactory.AssignmentExpression(
                input,
                SyntaxFactory.IdentifierName("a"),
                SyntaxFactory.IdentifierName("b")
                );

            var result = target.ApplyMutations(originalNode).ToList();

            result.ShouldHaveSingleItem();
            result.ShouldContain(x => x.ReplacementNode.IsKind(expectedOutput));
            result.ShouldContain(x => x.Type.Equals("AssignmentStatementMutator"));
        }