示例#1
0
        public void TestCase10()
        {
            var src = _createSourceLines(new[] {
                "{",
                "class Test{",
                "\n",
                "}",
                "}"
            });
            var ver = _createVersionLines(new[] {
                "{",
                "class Test{",
                "public void Func1(){",
                "}",
                "}",
                "}"
            });

            Merger.FindPositions(src, ver);

            Console.WriteLine(string.Join("\n", ver.AsEnumerable()));

            Assert.AreEqual(0, ver[0].SourcePositon);
            Assert.AreEqual(1, ver[1].SourcePositon);
            Assert.AreEqual(-1, ver[2].SourcePositon);
            Assert.AreEqual(-1, ver[3].SourcePositon);
            Assert.AreEqual(3, ver[4].SourcePositon);
            Assert.AreEqual(4, ver[5].SourcePositon);
        }
示例#2
0
        public void TestCase5()
        {
            var src = _createSourceLines(Array.Empty <string>());
            var ver = _createVersionLines(new[] { "line1", "line2" });

            Merger.FindPositions(src, ver);

            Assert.AreEqual(-1, ver[0].SourcePositon);
            Assert.AreEqual(-1, ver[1].SourcePositon);
        }
示例#3
0
        public void TestCase6()
        {
            var src = _createSourceLines(new[] { "line1", "line2", "line3" });
            var ver = _createVersionLines(new[] { "line01", "line2", "line3" });

            Merger.FindPositions(src, ver);

            Assert.AreEqual(-1, ver[0].SourcePositon);
            Assert.AreEqual(1, ver[1].SourcePositon);
            Assert.AreEqual(2, ver[2].SourcePositon);
        }
示例#4
0
        public void TestCase9()
        {
            var src = _createSourceLines(new[] { "{", "\t{", "\t}", "}" });
            var ver = _createVersionLines(new[] { "{", "\t{", "something", "\t}", "}" });

            Merger.FindPositions(src, ver);

            Assert.AreEqual(0, ver[0].SourcePositon);
            Assert.AreEqual(1, ver[1].SourcePositon);
            Assert.AreEqual(-1, ver[2].SourcePositon);
            Assert.AreEqual(2, ver[3].SourcePositon);
            Assert.AreEqual(3, ver[4].SourcePositon);
        }
示例#5
0
        public void TestCase8()
        {
            var src = _createSourceLines(new[] { "{", "class Test{", "\n", "}", "}" });
            var ver = _createVersionLines(new[] { "{", "class Test{", "public void Func1(){}", "}", "}" });

            Merger.FindPositions(src, ver);

            Assert.AreEqual(0, ver[0].SourcePositon);
            Assert.AreEqual(1, ver[1].SourcePositon);
            Assert.AreEqual(-1, ver[2].SourcePositon);
            Assert.AreEqual(3, ver[3].SourcePositon);
            Assert.AreEqual(4, ver[4].SourcePositon);
        }
示例#6
0
        public void TestCase7()
        {
            var src = _createSourceLines(new[] { "line1", "line2" });
            var ver = _createVersionLines(new[] { "line1", "line2", "line2" });

            Merger.FindPositions(src, ver);

            Console.WriteLine(string.Join("\n", ver.AsEnumerable()));

            Assert.AreEqual(0, ver[0].SourcePositon);
            Assert.AreEqual(-1, ver[1].SourcePositon);
            Assert.AreEqual(1, ver[2].SourcePositon);
        }