@Test public void testUpdate() throws Exception { Resource rhmRes = model.getResource(FakeRDFModel.rhm); Property name = model.getProperty(foaf + "name"); Statement nameSt = rhmRes.listProperties(name).nextStatement(); String originalName = nameSt.getLiteral().getString(); // assume update is always first remove and then add model.remove(nameSt); model.add(rhmRes, name, "TESTNAME"); assert changes.size() == 2; assert rhmRes.listProperties(name).toList().size() == 1; assert rhmRes.listProperties(name).nextStatement().getLiteral().getString().equals("TESTNAME"); changes.undo(); assert changes.size() == 2; assert rhmRes.listProperties(name).toList().size() == 1; assert rhmRes .listProperties(name) .nextStatement() .getLiteral() .getString() .equals(originalName); changes.redo(); assert changes.size() == 2; assert rhmRes.listProperties(name).toList().size() == 1; assert rhmRes.listProperties(name).nextStatement().getLiteral().getString().equals("TESTNAME"); }