public void ObjectRepositoryMergeChunkChangeResolveConflictOnlyOnce(Page page, string resolvedValue)
        {
            // Arrange
            var   path = RepositoryFixture.GetAvailableFolderPath();
            Field mergeBaseNode = page.Fields[0], branchNode = page.Fields[1], headNode = page.Fields[2];

            // Act
            var sut = new ObjectRepositoryPropertyChange(path, _nameProperty, CreateChunk(mergeBaseNode), CreateChunk(branchNode), CreateChunk(headNode));

            sut.Resolve(resolvedValue);
            Assert.Throws <GitObjectDbException>(() => sut.Resolve(resolvedValue));
        }
        public void ObjectRepositoryMergeChunkChangeResolveConflict(Page page, string resolvedValue)
        {
            // Arrange
            var   path = RepositoryFixture.GetAvailableFolderPath();
            Field mergeBaseNode = page.Fields[0], branchNode = page.Fields[1], headNode = page.Fields[2];

            // Act
            var sut = new ObjectRepositoryPropertyChange(path, _nameProperty, CreateChunk(mergeBaseNode), CreateChunk(branchNode), CreateChunk(headNode));

            sut.Resolve(resolvedValue);

            // Assert
            Assert.That(sut.WasInConflict, Is.True);
            Assert.That(sut.IsInConflict, Is.False);
            Assert.That(sut.MergeValue, Is.SameAs(resolvedValue));
        }
        public void ObjectRepositoryMergeChunkChangePropertiesAreMatchingEntryParameterValues(Page page)
        {
            // Arrange
            var   path = RepositoryFixture.GetAvailableFolderPath();
            Field mergeBaseNode = page.Fields[0], branchNode = page.Fields[1], headNode = page.Fields[2];

            // Act
            var sut = new ObjectRepositoryPropertyChange(path, _nameProperty, CreateChunk(mergeBaseNode), CreateChunk(branchNode), CreateChunk(headNode));

            // Assert
            Assert.That(sut.Path, Is.SameAs(path));
            Assert.That(sut.Property, Is.SameAs(_nameProperty));
            Assert.That(sut.Ancestor.Object, Is.SameAs(mergeBaseNode));
            Assert.That(sut.Theirs.Object, Is.SameAs(branchNode));
            Assert.That(sut.Ours.Object, Is.SameAs(headNode));
            Assert.That(sut.Ancestor.Property, Is.SameAs(_nameProperty));
            Assert.That(sut.Theirs.Property, Is.SameAs(_nameProperty));
            Assert.That(sut.Ours.Property, Is.SameAs(_nameProperty));
            Assert.That(sut.Ancestor.Value, Is.SameAs(mergeBaseNode.Name));
            Assert.That(sut.Theirs.Value, Is.SameAs(branchNode.Name));
            Assert.That(sut.Ours.Value, Is.SameAs(headNode.Name));
            Assert.That(sut.WasInConflict, Is.True);
        }