Map<String, EDBObjectEntry> data1 = new HashMap<String, EDBObjectEntry>();
putValue("Burger", "Salad", data1);
putValue("Bla", "Blub", data1);
putValue("Cheese", "Butter", data1);
EDBObject v1 = new EDBObject("/history/test/object", data1);
EDBCommit ci = getEDBCommit();
ci.insert(createRandomTestObject("/useless/test/1"));
ci.insert(createRandomTestObject("/deletion/test/1"));
ci.insert(v1);
time1 = db.commit(ci);
Map<String, EDBObjectEntry> data2 = Maps.newHashMap(data1);
putValue("Burger", "Meat", data2);
EDBObject v2 = new EDBObject("/history/test/object", data2);
ci = getEDBCommit();
ci.insert(createRandomTestObject("/useless/test/2"));
ci.delete("/deletion/test/1");
ci.update(v2);
time2 = db.commit(ci);
Map<String, EDBObjectEntry> data3 = Maps.newHashMap(data2);
ci = getEDBCommit();
ci.insert(createRandomTestObject("/useless/test/3"));
ci.insert(createRandomTestObject("/useless/test/4"));
time3 = db.commit(ci);
putValue("Cheese", "Milk", data3);
EDBObject v3 = new EDBObject("/history/test/object", data3);
ci = getEDBCommit();
ci.update(v3);
ci.insert(createRandomTestObject("/useless/test/5"));
time4 = db.commit(ci);
List<EDBLogEntry> log = db.getLog("/history/test/object", time1, time4);
assertThat(log.size(), is(3));