@Test
public void testMergeDocument() {
final String uri = "test/testMergeDocument";
ODocument doc = new ODocument(DOC_TYPE_POST);
Map<String, String> values = new HashMap();
values.put(Crawler.Attributes.TYPE, DOC_TYPE_POST);
values.put(DocumentAttributes.SOURCE_URI.toString(), uri);
values.put("foo", "originalValue");
doc.fromMap(values);
doc.save();
values.put("foo", "newValue");
db.mergeDocument(values);
DocumentList docs = db.getDocumentByUri(DOC_TYPE_POST, uri);
assertEquals(1, docs.size());
assertEquals("newValue", docs.get(0).get("foo"));
values.put("foo", "anotherValue");
db.mergeDocument(values);
docs = db.getDocumentByUri(DOC_TYPE_POST, uri);
assertEquals(1, docs.size());
assertEquals("anotherValue", docs.get(0).get("foo"));
db.deleteContent(DOC_TYPE_POST, uri);
docs = db.getDocumentByUri(DOC_TYPE_POST, uri);
assertEquals(0, docs.size());
}