Пример #1
0
        public void AlreadyRemovedVB()
        {
            var source = new[]
            {
                "Public Sub SomeMethod()",
                "End Sub",
            };
            var merge = new[]
            {
                "Public Sub SomeMethod()",
                "'{--{",
                "    Exit Sub",
                "'}--}",
                "End Sub",
            };
            var expected = new[]
            {
                "Public Sub SomeMethod()",
                "End Sub",
            };
            var mergeHandler = new MergeHandler(new VBStyleProvider());
            var result       = mergeHandler.Merge(source, merge);

            Assert.Equal(expected, result.Result);
            Assert.True(result.Success);
            Assert.Equal(string.Empty, result.ErrorLine);
        }
Пример #2
0
        public void HandlesInlineAddition2Successful()
        {
            var source = new[]
            {
                "   public SomeClass(IOtherService otherService)",
                "   {",
                "   }",
            };
            var merge = new[]
            {
                "public SomeClass(/*{[{*/ISomeService someService/*}]}*/)",
                "{",
                "//{[{",
                "    _someService = someService;",
                "//}]}",
                "}",
            };
            var expected = new[]
            {
                "   public SomeClass(IOtherService otherService, ISomeService someService)",
                "   {",
                "       _someService = someService;",
                "   }",
            };
            var mergeHandler = new MergeHandler(new CSharpStyleProvider());
            var result       = mergeHandler.Merge(source, merge);

            Assert.Equal(expected, result.Result);
        }
Пример #3
0
        public void HandlesSuccessfulVB()
        {
            var source = new[]
            {
                "Public Sub SomeMethod()",
                "    Exit Sub",
                "End Sub",
            };
            var merge = new[]
            {
                "Public Sub SomeMethod()",
                "'{--{",
                "    Exit Sub",
                "'}--}",
                "End Sub",
            };
            var expected = new[]
            {
                "Public Sub SomeMethod()",
                "End Sub",
            };
            var mergeHandler = new MergeHandler(new VBStyleProvider());
            var result       = mergeHandler.Merge(source, merge);

            Assert.Equal(expected, result.Result);
        }
Пример #4
0
        public void NothingToRemoveVB()
        {
            var source = new[]
            {
                "Public Sub SomeMethod()",
                "    Exit Sub",
                "End Sub",
            };
            var merge = new[]
            {
                "Public Sub SomeOtherMethod()",
                "    ' Something unrelated to deletion",
                "End Sub",
            };
            var expected = new[]
            {
                "Public Sub SomeMethod()",
                "    Exit Sub",
                "End Sub",
            };
            var mergeHandler = new MergeHandler(new VBStyleProvider());
            var result       = mergeHandler.Merge(source, merge);

            Assert.Equal(expected, result.Result);
        }
Пример #5
0
        public void SingleRemovalAndMergeVB()
        {
            var source = new[]
            {
                "Public Sub SomeMethod()",
                "    Exit Sub",
                "End Sub",
            };
            var merge1 = new[]
            {
                "Public Sub SomeMethod()",
                "    '{[{",
                "    ' Merge1",
                "    '}]}",
                "'{--{",
                "    Exit Sub",
                "'}--}",
                "End Sub",
            };
            var expected = new[]
            {
                "Public Sub SomeMethod()",
                "    ' Merge1",
                "End Sub",
            };

            var mergeHandler = new MergeHandler(new VBStyleProvider());
            var result       = mergeHandler.Merge(source, merge1);

            Assert.Equal(expected, result.Result);
        }
Пример #6
0
        public void HandlesAdditionSuccessfulVB()
        {
            var source = new[]
            {
                "Public Sub SomeMethod()",
                "End Sub",
            };
            var merge = new[]
            {
                "Public Sub SomeMethod()",
                "'{[{",
                "    AddSomeInstructions()",
                "'}]}",
                "End Sub",
            };
            var expected = new[]
            {
                "Public Sub SomeMethod()",
                "    AddSomeInstructions()",
                "End Sub",
            };
            var mergeHandler = new MergeHandler(new VBStyleProvider());
            var result       = mergeHandler.Merge(source, merge);

            Assert.Equal(expected, result.Result);
        }
Пример #7
0
        public void HandlesInlineAddition2SuccessfulVB()
        {
            var source = new[]
            {
                "   Public Sub New(otherService As IOtherService)",
                "   End Sub",
            };
            var merge = new[]
            {
                "Public Sub New(/*{[{*/someService As ISomeService/*}]}*/)",
                "'{[{",
                "    _someService = someService",
                "'}]}",
                "End Sub",
            };
            var expected = new[]
            {
                "   Public Sub New(otherService As IOtherService, someService As ISomeService)",
                "       _someService = someService",
                "   End Sub",
            };
            var mergeHandler = new MergeHandler(new VBStyleProvider());
            var result       = mergeHandler.Merge(source, merge);

            Assert.Equal(expected, result.Result);
        }
Пример #8
0
        public void AlreadyRemoved()
        {
            var source = new[]
            {
                "public void SomeMethod()",
                "{",
                "}",
            };
            var merge = new[]
            {
                "public void SomeMethod()",
                "{",
                "//{--{",
                "    yield break;",
                "//}--}",
                "}",
            };
            var expected = new[]
            {
                "public void SomeMethod()",
                "{",
                "}",
            };
            var mergeHandler = new MergeHandler(new CSharpStyleProvider());
            var result       = mergeHandler.Merge(source, merge);

            Assert.Equal(expected, result.Result);
        }
Пример #9
0
        public void AlreadyAdded()
        {
            var source = new[]
            {
                "public void SomeMethod()",
                "{",
                "    TestMethod();",
                "}",
            };
            var merge = new[]
            {
                "public void SomeMethod()",
                "{",
                "//{[{",
                "    TestMethod();",
                "//}]}",
                "}",
            };
            var expected = new[]
            {
                "public void SomeMethod()",
                "{",
                "    TestMethod();",
                "}",
            };
            var mergeHandler = new MergeHandler(new CSharpStyleProvider());
            var result       = mergeHandler.Merge(source, merge);

            Assert.Equal(expected, result.Result);
        }
Пример #10
0
        public void NothingToRemove()
        {
            var source = new[]
            {
                "public void SomeMethod()",
                "{",
                "    yield break;",
                "}",
            };
            var merge = new[]
            {
                "public void SomeOtherMethod()",
                "{",
                "    // Something unrelated to deletion",
                "}",
            };
            var expected = new[]
            {
                "public void SomeMethod()",
                "{",
                "    yield break;",
                "}",
            };
            var mergeHandler = new MergeHandler(new CSharpStyleProvider());
            var result       = mergeHandler.Merge(source, merge);

            Assert.Equal(expected, result.Result);
        }
Пример #11
0
        public void HandlesAdditionSuccessful()
        {
            var source = new[]
            {
                "public void SomeMethod()",
                "{",
                "}",
            };
            var merge = new[]
            {
                "public void SomeMethod()",
                "{",
                "//{[{",
                "    AddSomeInstructions()",
                "//}]}",
                "}",
            };
            var expected = new[]
            {
                "public void SomeMethod()",
                "{",
                "    AddSomeInstructions()",
                "}",
            };
            var mergeHandler = new MergeHandler(new CSharpStyleProvider());
            var result       = mergeHandler.Merge(source, merge);

            Assert.Equal(expected, result.Result);
        }
Пример #12
0
        public void MultipleRemovalsAndMerges()
        {
            var source = new[]
            {
                "public void SomeMethod()",
                "{",
                "    yield break;",
                "}",
            };
            var merge1 = new[]
            {
                "public void SomeMethod()",
                "{",
                "    //{[{",
                "    // Merge1",
                "    //}]}",
                "//{--{",
                "    yield break;",
                "//}--}",
                "}",
            };
            var merge2 = new[]
            {
                "public void SomeMethod()",
                "{",
                "    //{[{",
                "    // Merge2",
                "    //}]}",
                "//{--{",
                "    yield break;",
                "//}--}",
                "}",
            };
            var expected = new List <string>()
            {
                "public void SomeMethod()",
                "{",
                "    // Merge2",
                string.Empty,
                "    // Merge1",
                "}",
            };
            var mergeHandler = new MergeHandler(new CSharpStyleProvider());
            var result       = mergeHandler.Merge(source, merge1);

            var mergeHandler2 = new MergeHandler(new CSharpStyleProvider());

            result = mergeHandler2.Merge(result.Result, merge2);

            Assert.Equal(expected, result.Result);
        }
Пример #13
0
        public void MultipleRemovalsAndMergesVB()
        {
            var source = new[]
            {
                "Public Sub SomeMethod()",
                "    Exit Sub",
                "End Sub",
            };
            var merge1 = new[]
            {
                "Public Sub SomeMethod()",
                "    '{[{",
                "    ' Merge1",
                "    '}]}",
                "'{--{",
                "    Exit Sub",
                "'}--}",
                "End Sub",
            };
            var merge2 = new[]
            {
                "Public Sub SomeMethod()",
                "    '{[{",
                "    ' Merge2",
                "    '}]}",
                "'{--{",
                "    Exit Sub,",
                "'}--}",
                "End Sub",
            };
            var expected = new[]
            {
                "Public Sub SomeMethod()",
                "    ' Merge2",
                string.Empty,
                "    ' Merge1",
                "End Sub",
            };
            var mergeHandler = new MergeHandler(new VBStyleProvider());
            var result       = mergeHandler.Merge(source, merge1);

            var mergeHandler2 = new MergeHandler(new VBStyleProvider());

            result = mergeHandler2.Merge(result.Result, merge2);

            Assert.Equal(expected, result.Result);
            Assert.True(result.Success);
            Assert.Equal(string.Empty, result.ErrorLine);
        }
Пример #14
0
        public void MergeWithOptionalContextLines()
        {
            var source   = File.ReadAllLines(@".\TestData\Merge\SourceWithOptionalContextLines.cs");
            var merge    = File.ReadAllLines(@".\TestData\Merge\Source_postaction.cs");
            var expected = File.ReadAllText(@".\TestData\Merge\Source_expectedWithOptionalContextLines.cs");

            var mergeHandler = new MergeHandler(new CSharpStyleProvider());
            var result       = mergeHandler.Merge(source, merge);

            // Remove all new line chars to avoid differentiation with the new line characters
            expected = expected.Replace("\r\n", string.Empty).Replace("\n", string.Empty);

            Assert.Equal(expected, string.Join(string.Empty, result.Result.ToArray()));
            Assert.True(result.Success);
            Assert.Equal(string.Empty, result.ErrorLine);
        }