public void TestPofUpdater()
        {
            INamedCache cache = CacheFactory.GetCache(CacheName);

            cache.Clear();

            PortablePerson original = new PortablePerson();

            original.Name    = "Aleksandar Seovic";
            original.Address = new Address("street", "Belgrade", "SRB", "11000");

            cache.Insert("p1", original);

            PofUpdater updName = new PofUpdater(0);
            PofUpdater updCity = new PofUpdater(new SimplePofPath(new int[] { 1, 1 }));

            cache.Invoke("p1", new UpdaterProcessor(updName, "Novak Seovic"));
            cache.Invoke("p1", new UpdaterProcessor(updCity, "Lutz"));

            PortablePerson modified = (PortablePerson)cache["p1"];

            Assert.AreEqual("Novak Seovic", modified.Name);
            Assert.AreEqual("Lutz", modified.Address.City);

            CacheFactory.Shutdown();
        }
 /// <summary>
 /// Compare the PofUpdater with another object to determine
 /// equality.
 /// </summary>
 /// <param name="o">
 /// Object to compare with
 /// </param>
 /// <returns>
 /// <b>true</b> iff this PofUpdater and the passed object are
 /// equivalent
 /// </returns>
 public override bool Equals(Object o)
 {
     if (o is PofUpdater)
     {
         PofUpdater that = (PofUpdater)o;
         return(Equals(m_navigator, that.m_navigator));
     }
     return(false);
 }