}
   public void testTxMove() throws Exception
   {
      assertEquals("Event log should be empty", Collections.emptyList(), eventLog.events);
      Fqn newParent = Fqn.fromString("/a");
      cache.put(fqn, "key", "value");
      cache.put(newParent, "key", "value");
      Node<Object, Object> n1 = cache.getRoot().getChild(fqn);
      Node<Object, Object> n2 = cache.getRoot().getChild(newParent);
      eventLog.events.clear();// clear events
      assertEquals("Event log should be empty", Collections.emptyList(), eventLog.events);
      tm.begin();
      Transaction tx = tm.getTransaction();
      cache.move(n1.getFqn(), n2.getFqn());
      //expected
      Fqn newFqn = Fqn.fromRelativeElements(newParent, fqn.getLastElement());
      List<Event> expected = new ArrayList<Event>();
      expected.add(new EventImpl(false, cache, null, null, null, tx, true, null, false, null, TRANSACTION_REGISTERED));
      expected.add(new EventImpl(true, cache, null, null, fqn, tx, true, newFqn, false, null, NODE_MOVED));
      expected.add(new EventImpl(false, cache, null, null, fqn, tx, true, newFqn, false, null, NODE_MOVED));