コード例 #1
0
        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();
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
        public void ShouldBeMutationLevelStandard()
        {
            var target = new PrefixUnaryMutator();

            target.MutationLevel.ShouldBe(MutationLevel.Standard);
        }