public void ShouldNotMutate(SyntaxKind orginal) { var target = new PrefixUnaryMutator(); var originalNode = SyntaxFactory.PrefixUnaryExpression(orginal, SyntaxFactory.IdentifierName("a")); var result = target.ApplyMutations(originalNode).ToList(); result.ShouldBeEmpty(); }
public void ShouldMutateAnRemove(SyntaxKind original) { var target = new PrefixUnaryMutator(); var originalNode = SyntaxFactory.PrefixUnaryExpression(original, SyntaxFactory.LiteralExpression(SyntaxKind.NumericLiteralExpression, SyntaxFactory.Literal(1))); var result = target.ApplyMutations(originalNode).ToList(); result.ShouldHaveSingleItem(); result.First().ReplacementNode.IsKind(SyntaxKind.NumericLiteralExpression).ShouldBeTrue(); }
public void ShouldMutateUpdateTypes(SyntaxKind original, SyntaxKind expected) { var target = new PrefixUnaryMutator(); var originalNode = SyntaxFactory.PrefixUnaryExpression(original, SyntaxFactory.LiteralExpression(SyntaxKind.NumericLiteralExpression, SyntaxFactory.Literal(1))); var result = target.ApplyMutations(originalNode).ToList(); result.ShouldHaveSingleItem(); var mutation = result.First(); mutation.ReplacementNode.IsKind(expected).ShouldBeTrue(); mutation.Type.ShouldBe(MutatorType.Update); }
public void ShouldMutateAnRemove(SyntaxKind original) { var target = new PrefixUnaryMutator(); var originalNode = SyntaxFactory.PrefixUnaryExpression(original, SyntaxFactory.LiteralExpression(SyntaxKind.NumericLiteralExpression, SyntaxFactory.Literal(1))); var result = target.ApplyMutations(originalNode).ToList(); result.ShouldHaveSingleItem(); var mutation = result.First(); mutation.ReplacementNode.IsKind(SyntaxKind.NumericLiteralExpression).ShouldBeTrue(); if (original == SyntaxKind.BitwiseNotExpression) { mutation.Type.ShouldBe(MutatorType.Unary); } else { mutation.Type.ShouldBe(MutatorType.Boolean); } }
public void ShouldBeMutationLevelStandard() { var target = new PrefixUnaryMutator(); target.MutationLevel.ShouldBe(MutationLevel.Standard); }