コード例 #1
0
 // Use this for initialization
 void Start()
 {
     _mutator           = new StringMutator();
     _originalCountdown = MatchCountdown;
     ReadPreviousMatches();
     SpawnInitialShips();
 }
コード例 #2
0
        public void ShouldNotMutateOnFullyDefinedRegexExpression()
        {
            var expressionSyntax  = SyntaxFactory.ParseExpression("new System.Text.RegularExpressions.Regex(\"myregex\")");
            var literalExpression = expressionSyntax.DescendantNodes().OfType <LiteralExpressionSyntax>().First();
            var mutator           = new StringMutator();
            var result            = mutator.ApplyMutations(literalExpression).ToList();

            result.ShouldBeEmpty();
        }
コード例 #3
0
        public void ShouldMutate(string original, string expected)
        {
            var node    = SyntaxFactory.LiteralExpression(SyntaxKind.StringLiteralExpression, SyntaxFactory.Literal(original));
            var mutator = new StringMutator();

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

            result.ShouldHaveSingleItem()
            .ReplacementNode.ShouldBeOfType <LiteralExpressionSyntax>()
            .Token.Value.ShouldBe(expected);
        }
コード例 #4
0
 // Use this for initialization
 void Start()
 {
     _mutator = new StringMutator
     {
         AllowedCharacters = AllowedCharacters,
         GenomeLength      = GenomeLength,
         MaxMutationLength = MaxMutationLength,
         Mutations         = Mutations
     };
     ReadCurrentGeneration();
     SpawnShips();
 }
コード例 #5
0
        public void ShouldNotMutateOnRegularExpressionInClass()
        {
            var syntaxTree        = CSharpSyntaxTree.ParseText(@"using System.Text.RegularExpressions;
namespace Stryker.Core.UnitTest.Mutators
{
    public class Test {
        public Regex GetRegex(){
            return new Regex(""myregex"");
        }
    }
}
");
            var literalExpression = syntaxTree.GetRoot().DescendantNodes().OfType <LiteralExpressionSyntax>().First();
            var mutator           = new StringMutator();
            var result            = mutator.ApplyMutations(literalExpression).ToList();

            result.ShouldBeEmpty();
        }
コード例 #6
0
        public void ShouldBeMutationlevelStandard()
        {
            var target = new StringMutator();

            target.MutationLevel.ShouldBe(MutationLevel.Standard);
        }
コード例 #7
0
        public void Serialize(ref JsonWriter writer, TDictionary value, IJsonFormatterResolver formatterResolver)
        {
            if (value == null)
            {
                writer.WriteNull();
                return;
            }
            else
            {
                var keyFormatter   = formatterResolver.GetFormatterWithVerify <TKey>() as IObjectPropertyNameFormatter <TKey>;
                var valueFormatter = formatterResolver.GetFormatterWithVerify <TValue>();

                writer.WriteBeginObject();

                var e = GetSourceEnumerator(value);
                try
                {
                    if (keyFormatter != null)
                    {
                        if (e.MoveNext())
                        {
                            var item = e.Current;
                            keyFormatter.SerializeToPropertyName(ref writer, item.Key, formatterResolver);
                            writer.WriteNameSeparator();
                            valueFormatter.Serialize(ref writer, item.Value, formatterResolver);
                        }
                        else
                        {
                            goto END;
                        }

                        while (e.MoveNext())
                        {
                            writer.WriteValueSeparator();
                            var item = e.Current;
                            keyFormatter.SerializeToPropertyName(ref writer, item.Key, formatterResolver);
                            writer.WriteNameSeparator();
                            valueFormatter.Serialize(ref writer, item.Value, formatterResolver);
                        }
                    }
                    else
                    {
                        if (e.MoveNext())
                        {
                            var item = e.Current;
                            writer.WriteString(StringMutator.ToCamelCase(item.Key.ToString()));
                            writer.WriteNameSeparator();
                            valueFormatter.Serialize(ref writer, item.Value, formatterResolver);
                        }
                        else
                        {
                            goto END;
                        }

                        while (e.MoveNext())
                        {
                            writer.WriteValueSeparator();
                            var item = e.Current;
                            writer.WriteString(StringMutator.ToCamelCase(item.Key.ToString()));
                            writer.WriteNameSeparator();
                            valueFormatter.Serialize(ref writer, item.Value, formatterResolver);
                        }
                    }
                }
                finally
                {
                    e.Dispose();
                }

END:
                writer.WriteEndObject();
            }
        }