@Test
public void testDoUpdate() throws Exception, Throwable {
MockStendlRPWorld.get();
DBTransaction transaction = TransactionPool.get().beginWork();
try {
PlayerModifier pm = new PlayerModifier();
Player loaded = pm.loadPlayer(transaction, "george");
assertNotNull("pm can only handle existing players, so if this fails first create a player called george in db by login", loaded);
if (loaded.getSlot("bag").size() > 0) {
loaded.getSlot("bag").remove(loaded.getSlot("bag").getFirst().getID());
}
//assertEquals(null, loaded.getSlot("bag").getFirst());
EntityManager em = SingletonRepository.getEntityManager();
Item item = (Item) em.getItem("leather armor");
item.put("name", "leather_armor_+1");
loaded.equipToInventoryOnly(item);
assertTrue(loaded.getSlot("bag").has(item.getID()));
assertTrue(pm.savePlayer(transaction, loaded));
UpdatePlayerEntities updatePlayerEntities = new UpdatePlayerEntities();
Player changing = updatePlayerEntities.createPlayerFromRPO(loaded);
updatePlayerEntities.savePlayer(transaction, changing);
Player secondLoaded = pm.loadPlayer(transaction, "george");
assertNotNull(secondLoaded);
assertNotNull(secondLoaded.getSlot("bag"));
assertNotNull(secondLoaded.getSlot("bag").getFirst());
assertThat(secondLoaded.getSlot("bag").getFirst().get("name"), not(is("leather_armor_+1")));