コード例 #1
0
        public void Cannot_merge_Mark_as_a_conflict()
        {
            string userText    = Helper.GetResource(resourcePrefix + "ThreeOtherLines2.txt");
            string prevGenText = Helper.GetResource(resourcePrefix + "ThreeLines.txt");
            string newGenText  = Helper.GetResource(resourcePrefix + "ThreeOtherLines.txt");

            SlyceMergeResult mergeObject = SlyceMerge.Perform3wayDiff(userText, prevGenText, newGenText, out merged);

            Assert.AreEqual(TypeOfDiff.Conflict, mergeObject.DiffType, "Cannot merge. Mark as conflicted.");
        }
コード例 #2
0
        public void The_merged_equals_3CrLfs_input()
        {
            string userText    = Environment.NewLine + Environment.NewLine + Environment.NewLine;
            string prevGenText = userText;
            string newGenText  = userText;

            SlyceMergeResult mergeObject = SlyceMerge.Perform3wayDiff(userText, prevGenText, newGenText, out merged);

            Assert.AreEqual(TypeOfDiff.ExactCopy, mergeObject.DiffType, "Mark as Exact Copy.");
            Assert.AreEqual(userText, merged, "The merged text should equal the 3 empty lines.");
        }
コード例 #3
0
        public void First_line_changed_Go_with_the_User_version()
        {
            string userText     = Helper.GetResource(resourcePrefix + "ThreeLines_FirstLineDeleted.txt");
            string prevGenText  = Helper.GetResource(resourcePrefix + "ThreeLines.txt");
            string newGenText   = Helper.GetResource(resourcePrefix + "ThreeLines_FirstLineChanged.txt");
            string fileExpected = userText;

            SlyceMergeResult mergeObject = SlyceMerge.Perform3wayDiff(userText, prevGenText, newGenText, out merged);

            Assert.AreEqual(TypeOfDiff.Conflict, mergeObject.DiffType, "Cannot merge. Mark as conflicted.");
        }
コード例 #4
0
        public void Last_line_changed_Cannot_merge_Mark_as_a_conflict()
        {
            string userText     = Helper.GetResource(resourcePrefix + "ThreeLines_LastLineChanged.txt");
            string prevGenText  = Helper.GetResource(resourcePrefix + "ThreeLines.txt");
            string newGenText   = Helper.GetResource(resourcePrefix + "TwoLines.txt");
            string fileExpected = userText;

            SlyceMergeResult mergeObject = SlyceMerge.Perform3wayDiff(userText, prevGenText, newGenText, out merged);

            Assert.AreEqual(TypeOfDiff.Conflict, mergeObject.DiffType, "Cannot merge. Mark as conflicted.");
        }
コード例 #5
0
        public void Even_when_all_files_are_empty()
        {
            string userText    = string.Empty;
            string prevGenText = userText;
            string newGenText  = userText;

            SlyceMergeResult mergeObject = SlyceMerge.Perform3wayDiff(userText, prevGenText, newGenText, out merged);

            Assert.AreEqual(String.Empty, merged, "The merged text should be empty.");
            Assert.AreEqual(TypeOfDiff.ExactCopy, mergeObject.DiffType, "Mark as Exact Copy.");
        }
コード例 #6
0
        public void The_merged_file_equals_the_NewGen_TEMPLATECHANGE()
        {
            string userText    = Helper.GetResource(resourcePrefix + "ThreeLines.txt");
            string prevGenText = userText;
            string newGenText  = Helper.GetResource(resourcePrefix + "ThreeOtherLines.txt");

            SlyceMergeResult mergeObject = SlyceMerge.Perform3wayDiff(userText, prevGenText, newGenText, out merged);

            Assert.AreEqual(TypeOfDiff.TemplateChangeOnly, mergeObject.DiffType, "Mark as Exact Copy.");
            Assert.AreEqual(newGenText, merged, "Merged file should equal NewGen.");
        }
コード例 #7
0
        public void The_merged_file_equals_2way_merge_of_User_and_NewGen_CONFLICT()
        {
            string userText     = Helper.GetResource(resourcePrefix + "FourLines.txt");
            string prevGenText  = string.Empty;
            string newGenText   = Helper.GetResource(resourcePrefix + "FourLines_2Different.txt");
            string fileExpected = Helper.GetResource(resourcePrefix + "FourLines_Expected.txt");

            SlyceMergeResult mergeObject = SlyceMerge.Perform3wayDiff(userText, prevGenText, newGenText, out merged);

            Assert.AreEqual(TypeOfDiff.Conflict, mergeObject.DiffType, "Mark as Exact Copy.");
            Assert.AreEqual(fileExpected, merged, "Merged file should equal merge of User and NewGen.");
        }
コード例 #8
0
        public void The_merged_file_equals_User_and_NewGen()
        {
            string userText     = Helper.GetResource(resourcePrefix + "TwoLinesWithEmptyLines.txt");
            string prevGenText  = string.Empty;
            string newGenText   = userText;
            string fileExpected = userText;

            SlyceMergeResult mergeObject = SlyceMerge.Perform3wayDiff(userText, prevGenText, newGenText, out merged);

            Assert.AreEqual(TypeOfDiff.ExactCopy, mergeObject.DiffType, "Mark as Exact Copy.");
            Assert.AreEqual(fileExpected, merged, "Merged file should equal User and NewGen.");
        }
コード例 #9
0
        public void The_merged_equals_the_simple_input_with_linebreaks()
        {
            string userText     = Helper.GetResource(resourcePrefix + "TwoLinesWithEmptyLines.txt");
            string prevGenText  = userText;
            string newGenText   = userText;
            string fileExpected = userText;

            SlyceMergeResult mergeObject = SlyceMerge.Perform3wayDiff(userText, prevGenText, newGenText, out merged);

            Assert.AreEqual(TypeOfDiff.ExactCopy, mergeObject.DiffType, "Mark as Exact Copy.");
            Assert.AreEqual(fileExpected, merged, "The merged text should equal the input.");
        }
コード例 #10
0
        public void To_NewGen_line1_Include_it()
        {
            string prevGenText  = Helper.GetResource(resourcePrefix + "ThreeLines.txt");
            string userText     = Helper.GetResource(resourcePrefix + "ThreeLines.txt");
            string newGenText   = Helper.GetResource(resourcePrefix + "ThreeLines_LastLineChanged.txt");
            string fileExpected = newGenText;

            SlyceMergeResult mergeObject = SlyceMerge.Perform3wayDiff(userText, prevGenText, newGenText, out merged);

            Assert.AreEqual(TypeOfDiff.TemplateChangeOnly, mergeObject.DiffType, "NewGen change only.");
            Assert.AreEqual(fileExpected, merged, "NewGen change incorporated.");
        }
コード例 #11
0
        public void Same_first_line_added_to_User_and_NewGen_Include_it()
        {
            string prevGenText  = Helper.GetResource(resourcePrefix + "ThreeLines_FirstLineDeleted.txt");
            string userText     = Helper.GetResource(resourcePrefix + "ThreeLines.txt");
            string newGenText   = Helper.GetResource(resourcePrefix + "ThreeLines.txt");
            string fileExpected = userText;

            SlyceMergeResult mergeObject = SlyceMerge.Perform3wayDiff(userText, prevGenText, newGenText, out merged);

            Assert.AreEqual(TypeOfDiff.ExactCopy, mergeObject.DiffType, "Same changes to both files.");
            Assert.AreEqual(fileExpected, merged, "User change incorporated.");
        }
コード例 #12
0
        public void Last_line_inserted_in_User_Include_it()
        {
            string prevGenText  = Helper.GetResource(resourcePrefix + "TwoLines.txt");
            string userText     = Helper.GetResource(resourcePrefix + "ThreeLines.txt");
            string newGenText   = Helper.GetResource(resourcePrefix + "TwoLines.txt");
            string fileExpected = userText;

            SlyceMergeResult mergeObject = SlyceMerge.Perform3wayDiff(userText, prevGenText, newGenText, out merged);

            Assert.AreEqual(TypeOfDiff.UserChangeOnly, mergeObject.DiffType, "User change only.");
            Assert.AreEqual(fileExpected, merged, "User change incorporated.");
        }
コード例 #13
0
        public void From_User_remove_from_merge()
        {
            string userText     = Helper.GetResource(resourcePrefix + "ThreeLines_FirstLineDeleted.txt");
            string prevGenText  = Helper.GetResource(resourcePrefix + "ThreeLines.txt");
            string newGenText   = Helper.GetResource(resourcePrefix + "ThreeLines.txt");
            string fileExpected = userText;

            SlyceMergeResult mergeObject = SlyceMerge.Perform3wayDiff(userText, prevGenText, newGenText, out merged);

            Assert.AreEqual(TypeOfDiff.UserChangeOnly, mergeObject.DiffType, "User change only.");
            Assert.AreEqual(fileExpected, merged, "User supercedes unchanged NewGen.");
        }
コード例 #14
0
        public void User_changes_merge_with_unchanged_NewGen()
        {
            string userText     = Helper.GetResource(resourcePrefix + "ThreeOtherLines.txt");
            string prevGenText  = Helper.GetResource(resourcePrefix + "ThreeLines.txt");
            string newGenText   = Helper.GetResource(resourcePrefix + "ThreeLines.txt");
            string fileExpected = userText;

            SlyceMergeResult mergeObject = SlyceMerge.Perform3wayDiff(userText, prevGenText, newGenText, out merged);

            Assert.AreEqual(TypeOfDiff.UserChangeOnly, mergeObject.DiffType, "User change only.");
            Assert.AreEqual(fileExpected, merged, "NewGen supercedes unchanged user.");
        }