public void ShouldNotMutateUppercaseString()
        {
            var node = SyntaxFactory.MemberAccessExpression(
                SyntaxKind.SimpleMemberAccessExpression,
                SyntaxFactory.IdentifierName("String"),
                SyntaxFactory.IdentifierName("Empty"));
            var mutator = new StringEmptyMutator();

            var result = mutator.ApplyMutations(node).ToList();

            result.ShouldBeEmpty();
        }
        public void ShouldNotMutateUppercaseString()
        {
            // Arrange
            var node = SyntaxFactory.MemberAccessExpression(
                SyntaxKind.SimpleMemberAccessExpression,
                SyntaxFactory.IdentifierName("String"),
                SyntaxFactory.IdentifierName("Empty"));
            var mutator = new StringEmptyMutator();

            // Act
            var result = mutator.ApplyMutations(node).ToList();

            // Assert
            result.ShouldNotContain(
                m => m.ReplacementNode is LiteralExpressionSyntax &&
                ((LiteralExpressionSyntax)m.ReplacementNode).Token.ValueText == "Stryker was here!");
        }
        public void ShouldMutateLowercaseString()
        {
            var node = SyntaxFactory.MemberAccessExpression(
                SyntaxKind.SimpleMemberAccessExpression,
                SyntaxFactory.PredefinedType(
                    SyntaxFactory.Token(SyntaxKind.StringKeyword)),
                SyntaxFactory.IdentifierName("Empty"));
            var mutator = new StringEmptyMutator();

            var result = mutator.ApplyMutations(node).ToList();

            var mutation = result.ShouldHaveSingleItem();

            mutation.DisplayName.ShouldBe("String mutation");
            var replacement = mutation.ReplacementNode.ShouldBeOfType <LiteralExpressionSyntax>();

            replacement.Token.ValueText.ShouldBe("Stryker was here!");
        }
        public void ShouldBeMutationLevelStandard()
        {
            var target = new StringEmptyMutator();

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