예제 #1
0
        public void TestCase1()
        {
            var src = new[] { "line1", "line2", "line3" };
            var ver1 = new[] { "line1", "line2", "line3" };
            var ver2 = new[] { "line1", "line2", "line3" };

            var merger = new Merger(src, ver1, ver2);
            var result = merger.Merge();

            Assert.AreEqual("line1", result[0]);
            Assert.AreEqual("line2", result[1]);
            Assert.AreEqual("line3", result[2]);
        }
예제 #2
0
        public void TestCase4()
        {
            var src = new[] { "line1", "line2", "line3" };
            var ver1 = new[] { "line7", "line2", "line3", "line4" };
            var ver2 = new[] { "line1", "line2", "line3", "line5", "line6" };

            var merger = new Merger(src, ver1, ver2);
            var result = merger.Merge();

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

            Assert.AreEqual("line7", result[0]);
            Assert.AreEqual("line2", result[1]);
            Assert.AreEqual("line3", result[2]);
            Assert.AreEqual("line4", result[3]);
            Assert.AreEqual("line5", result[4]);
            Assert.AreEqual("line6", result[5]);
        }
예제 #3
0
파일: Program.cs 프로젝트: a-severin/Merger
        private static void Main(string[] args)
        {
            if (args.Length != 4)
            {
                Console.WriteLine("Required 4 arguments: <source-file>, <version1-file>, <version2-file>, <output-file>");
                return;
            }

            var sourcePath   = args[0];
            var version1Path = args[1];
            var version2Path = args[2];
            var outputPath   = args[3];

            if (!File.Exists(sourcePath))
            {
                Console.WriteLine($"Source File not found: {sourcePath}");
                return;
            }

            if (!File.Exists(version1Path))
            {
                Console.WriteLine($"Version 1 File not found: {version1Path}");
                return;
            }

            if (!File.Exists(version2Path))
            {
                Console.WriteLine($"Version 2 File not found: {version1Path}");
                return;
            }

            var source   = File.ReadAllLines(sourcePath);
            var version1 = File.ReadAllLines(version1Path);
            var version2 = File.ReadAllLines(version2Path);

            var merger = new Merger(source, version1, version2);

            try {
                merger.Merge(outputPath);
            } catch (IOException e) {
                Console.Error.WriteLine(e.Message);
            }
        }
예제 #4
0
파일: Program.cs 프로젝트: a-severin/Merger
        private static void Main(string[] args)
        {
            if (args.Length != 4) {
                Console.WriteLine("Required 4 arguments: <source-file>, <version1-file>, <version2-file>, <output-file>");
                return;
            }

            var sourcePath = args[0];
            var version1Path = args[1];
            var version2Path = args[2];
            var outputPath = args[3];

            if (!File.Exists(sourcePath)) {
                Console.WriteLine($"Source File not found: {sourcePath}");
                return;
            }

            if (!File.Exists(version1Path)) {
                Console.WriteLine($"Version 1 File not found: {version1Path}");
                return;
            }

            if (!File.Exists(version2Path)) {
                Console.WriteLine($"Version 2 File not found: {version1Path}");
                return;
            }

            var source = File.ReadAllLines(sourcePath);
            var version1 = File.ReadAllLines(version1Path);
            var version2 = File.ReadAllLines(version2Path);

            var merger = new Merger(source, version1, version2);
            try {
                merger.Merge(outputPath);
            } catch (IOException e) {
                Console.Error.WriteLine(e.Message);
            }
        }
예제 #5
0
        public void TestCase7()
        {
            var src = new[] {
                "{",
                "class Test{",
                "\n",
                "}",
                "}" };
            var ver1 = new[] {
                "{",
                "class Test{",
                "public void Func1(){",
                "}",
                "}",
                "}"
            };
            var ver2 = new[] {
                "{",
                "class Test{",
                "public void Func2(){",
                "}",
                "}",
                "}"
            };

            var merger = new Merger(src, ver1, ver2);
            var result = merger.Merge();

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

            Assert.AreEqual("{", result[0]);
            Assert.AreEqual("class Test{", result[1]);
            Assert.AreEqual("public void Func1(){", result[2]);
            Assert.AreEqual("}", result[3]);
            Assert.AreEqual("public void Func2(){", result[4]);
            Assert.AreEqual("}", result[5]);
            Assert.AreEqual("}", result[6]);
            Assert.AreEqual("}", result[7]);
        }