@Test
public void createMergeRequestTest() {

    // Setup:
    MergeRequestConfig config = new MergeRequestConfig.Builder("title", RECORD_1_IRI, SOURCE_BRANCH_1_IRI, TARGET_BRANCH_1_IRI, user1, true)
            .description("description")
            .addAssignee(user1)
            .build();
    try (RepositoryConnection conn = repo.getConnection()) {
        MergeRequest result = manager.createMergeRequest(config, LOCAL_CATALOG_IRI, conn);
        Optional<Value> title = result.getProperty(VALUE_FACTORY.createIRI(_Thing.title_IRI));
        assertTrue(title.isPresent());
        assertEquals("title", title.get().stringValue());
        Optional<Value> description = result.getProperty(VALUE_FACTORY.createIRI(_Thing.description_IRI));
        assertTrue(description.isPresent());
        assertEquals("description", description.get().stringValue());
        Optional<Resource> record = result.getOnRecord_resource();
        assertTrue(record.isPresent());
        assertEquals(RECORD_1_IRI, record.get());
        Optional<Resource> sourceBranch = result.getSourceBranch_resource();
        assertTrue(sourceBranch.isPresent());
        assertEquals(SOURCE_BRANCH_1_IRI, sourceBranch.get());
        Optional<Resource> targetBranch = result.getTargetBranch_resource();
        assertTrue(targetBranch.isPresent());
        assertEquals(TARGET_BRANCH_1_IRI, targetBranch.get());
        assertTrue(result.getRemoveSource().get());
        Optional<Value> creator = result.getProperty(VALUE_FACTORY.createIRI(_Thing.creator_IRI));
        assertTrue(creator.isPresent());
        assertEquals(user1.getResource().stringValue(), creator.get().stringValue());
        assertEquals(1, result.getAssignee_resource().size());
    }
}