コード例 #1
0
        public void GetMutatedDocument_WhenHavingBinaryExpressionThatContainsAString_ShouldNotMutate()
        {
            var tree = SyntaxFactory.ParseSyntaxTree($"classC{{publicvoidDo(){{var i = \"test\" + 2; }}");
            var root = tree.GetRoot();

            var binaryExpressionMutationOperator = new MathMutator();
            var doc = binaryExpressionMutationOperator.GetMutatedDocument(root, null);

            Assert.IsEmpty(doc, "Should not be able to find any mutations");
        }
コード例 #2
0
        public void GetMutatedDocument_WhenHavingABinaryExpressionWithoutStatement_ShouldMutate()
        {
            var tree = SyntaxFactory.ParseSyntaxTree("classC{{public int Propi => 1 + 2");
            var root = tree.GetRoot();

            var binaryExpressionMutationOperator = new MathMutator();
            var doc = binaryExpressionMutationOperator.GetMutatedDocument(root, null);

            Assert.AreEqual("1 - 2", doc[0].MutationDetails.Mutation.ToString());
        }
コード例 #3
0
        public void BinaryTests(string binary, string mutatedBinary)
        {
            var tree = SyntaxFactory.ParseSyntaxTree($"classC{{publicvoidDo(){{var i = {binary};}}");
            var root = tree.GetRoot();

            var binaryExpressionMutationOperator = new MathMutator();
            var doc = binaryExpressionMutationOperator.GetMutatedDocument(root, null);

            Assert.AreEqual(mutatedBinary, doc[0].MutationDetails.Mutation.ToString());
        }
コード例 #4
0
        public void GetMutatedDocument_WhenHavingMultipleMathOperationsInSameStatement_ShouldMutateAll()
        {
            var tree = SyntaxFactory.ParseSyntaxTree("classC{{publicvoidDo(){{var i = 1+2/3;}}");
            var root = tree.GetRoot();

            var binaryExpressionMutationOperator = new MathMutator();
            var doc = binaryExpressionMutationOperator.GetMutatedDocument(root, null);

            Assert.AreEqual(2, doc.Count);
            Assert.AreEqual("1 - 2 / 3", doc[0].MutationDetails.Mutation.ToString());
            Assert.AreEqual("2 * 3", doc[1].MutationDetails.Mutation.ToString());
        }
コード例 #5
0
        public void GetMutatedDocument_GetMutatedDocumentWithDifferentAttribute_ShouldGetAllMutations()
        {
            var tree = SyntaxFactory.ParseSyntaxTree(@"
                    [DifferentAttribute]
                    class C { 

                        public int Propi { get{ return 1+2; }} 
                  
                        public void FirstMethod() { var i = 1 + 2; } 
                    
                        public void SecondMethod() { var k = 1 + 2; }
                    }");
            var root = tree.GetRoot();

            var mutator   = new MathMutator();
            var documents = mutator.GetMutatedDocument(root, null);

            Assert.AreEqual(3, documents.Count);
        }
コード例 #6
0
        public void GetMutatedDocument_GetMutatedDocumentWithExcludeFromCodeCoverageOnClass_ShouldNotGetAnyMutations()
        {
            var tree = SyntaxFactory.ParseSyntaxTree(@"
                    [ExcludeFromCodeCoverage]
                    class C { 
                        
                        public int Propi { get{ return 1+2; }} 

                        public void FirstMethod() { var i = 1 + 2; } 
                    
                        public void SecondMethod() { var k = 1 + 2; }
                    }");

            var root = tree.GetRoot();

            var mutator   = new MathMutator();
            var documents = mutator.GetMutatedDocument(root, null);

            Assert.IsEmpty(documents);
        }
コード例 #7
0
        public void GetMutatedDocument_GetMutatedDocumentWithExcludeFromCodeCoverageOnProperty_ShouldGetMutationOnMethods()
        {
            var tree = SyntaxFactory.ParseSyntaxTree(@"
                    class C { 

                        [ExcludeFromCodeCoverage]
                        public int Propi { get{ return 1+2; }} 
                  
                        public void FirstMethod() { var i = 1 + 2; } 
                    
                        public void SecondMethod() { var k = 1 + 2; }
                    }");
            var root = tree.GetRoot();

            var mutator   = new MathMutator();
            var documents = mutator.GetMutatedDocument(root, null);

            Assert.AreEqual(2, documents.Count);
            Assert.IsTrue(documents.Any(d => d.MutationName.Contains("FirstMethod")));
            Assert.IsTrue(documents.Any(d => d.MutationName.Contains("SecondMethod")));
        }
コード例 #8
0
ファイル: MathMutatorTest.cs プロジェクト: pavzaj/stryker-net
 public void Setup()
 {
     mutator = new MathMutator();
 }