public void Given_A_Merging_Revision_With_Two_Mergeable_Revisions_Ensure_That_When_We_Retrieve_The_Current_Document_It_Contains_The_Merge()
 {
     var originalRevision = new TestRevision("Test\nTest");
     var revisionOne = new BasicRevision(originalRevision, Patches.Make(originalRevision.GenerateEditedContent(), "Test\nTest3"));
     var revisionTwo = new BasicRevision(originalRevision, Patches.Make(originalRevision.GenerateEditedContent(), "Test2\nTest"));
     var revision = new MergingRevision(originalRevision, new List<IRevision> {revisionOne, revisionTwo});
     Assert.That(revision.GenerateEditedContent(), Is.EqualTo("Test2\nTest3"));
 }
        public void Ensure_We_Can_Construct_A_Merging_Revision()
        {
            var originalRevision = new TestRevision("Test\nTest");
            var revisionOne = new BasicRevision(originalRevision,
                                                Patches.Make(originalRevision.GenerateEditedContent(), "Test\nTest3"));

            var revisionTwo = new BasicRevision(originalRevision,
                                                Patches.Make(originalRevision.GenerateEditedContent(), "Test2\nTest"));
            var revision = new MergingRevision(originalRevision, new List<IRevision> { revisionOne, revisionTwo });
            Assert.That(revision != null);
        }
 public void Given_Two_Un_Mergeable_Revisions_Ensure_that_When_We_Construct_The_MergingRevision_Ensure_It_Is_Marked_As_In_Conflict()
 {
     var originalRevision = new TestRevision("Test\nTest");
     var revisionOne = new BasicRevision(originalRevision,
                                         Patches.Make(originalRevision.GenerateEditedContent(),
                                                      "The quick brown fox jumped over the lazy dog\nTest"));
     var revisionTwo = new BasicRevision(originalRevision,
                                         Patches.Make(originalRevision.GenerateEditedContent(),
                                                      "Waiter, there's a fly in my soup\nTest"));
     var revision = new MergingRevision(originalRevision, new List<IRevision> { revisionOne, revisionTwo });
     Assert.That(revision.RevisionsConflict);
 }
 public void Given_A_Merging_Revision_With_Two_Un_Mergeable_Revisions_Ensure_that_When_We_Retrieve_The_Current_Document_We_Recieve_An_Exception()
 {
     var originalRevision = new TestRevision("Test\nTest");
     var revisionOne = new BasicRevision(originalRevision,
                                         Patches.Make(originalRevision.GenerateEditedContent(),
                                                      "The quick brown fox jumped over the lazy dog\nTest"));
     var revisionTwo = new BasicRevision(originalRevision,
                                         Patches.Make(originalRevision.GenerateEditedContent(),
                                                      "Waiter, there's a fly in my soup\nTest"));
     var revision = new MergingRevision(originalRevision, new List<IRevision> {revisionOne, revisionTwo});
     Assert.Throws<ConflictException>(() => revision.GenerateEditedContent());
 }
 public void Given_A_Merging_Revision_With_Two_Un_Mergeable_Revisions_Ensure_that_If_We_Set_A_Revision_For_Resolution_And_Then_Call_GenerateEditedContent_It_Returns_The_Resolution_Revision()
 {
     var originalRevision = new TestRevision("Test\nTest");
     var revisionOne = new BasicRevision(originalRevision,
                                         Patches.Make(originalRevision.GenerateEditedContent(),
                                                      "The quick brown fox jumped over the lazy dog\nTest"));
     var revisionTwo = new BasicRevision(originalRevision,
                                         Patches.Make(originalRevision.GenerateEditedContent(),
                                                      "Waiter, there's a fly in my soup\nTest"));
     var revision = new MergingRevision(originalRevision, new List<IRevision> { revisionOne, revisionTwo });
     revision.ResolveConflict(new TestRevision("The quick brown fox jumped over the lazy dog\nWaiter, there's a fly in my soup\nTest"));
     Assert.That(revision.GenerateEditedContent(),
                 Is.EqualTo(
                     "The quick brown fox jumped over the lazy dog\nWaiter, there's a fly in my soup\nTest"));
 }