public void TestSimpleProperties()
		{
			Address address = new Address("Al. Calder�o Branco", 784);
			Customer customer = new Customer("Rodrigo", "Oliveira", address);

			XPathObjectNavigator context = new XPathObjectNavigator(customer);
			XPathNodeIterator i = context.Select("/Customer/Address/Street");			
			AssertEquals(1, i.Count);
			AssertEquals(true, i.MoveNext());			
			AssertEquals(customer.Address.Street, i.Current.Value);
			AssertEquals(customer.Address.Street, ((XPathObjectNavigator)i.Current).Node);

			i = context.Select("FirstName");
			AssertEquals(1, i.Count);
			AssertEquals(true, i.MoveNext());
			AssertEquals(customer.FirstName, i.Current.Value);

			i = context.Select("/Customer/LastName");						
			AssertEquals(true, i.MoveNext());
			AssertEquals(customer.LastName, i.Current.Value);
		}
		public void TestSelectObjects()
		{
			Address address = new Address("Strawberry Street", 45);
			Customer customer1 = new Customer("Rodrigo", "Oliveira", address);
			Customer customer2 = new Customer("Marcia", "Longo", address);

			Customer[] customers = { customer1, customer2 };
			XPathObjectNavigator navigator = new XPathObjectNavigator(customers);
			object[] actual = navigator.SelectObjects("Customer[Address/Number = 45]");
			AssertEquals(2, actual.Length);
			AssertEquals(customer1, actual[0]);
			AssertEquals(customer2, actual[1]);
		}
		public Customer(string fname, string lname, Address address)
		{
			_fname = fname;
			_lname = lname;
			_address = address;
			_properties = new Hashtable();
		}