@Test
	public void testStringArrays() throws Exception
	{
		PersistenceManager pm1 = new PersistenceManager(driver,database,login,password);
		StringArrayContainer sac = new StringArrayContainer();
		sac.setValues(new String[]{"Foo","bar","BAZ"});
		pm1.saveObject(sac);
		
		//get the object from another PersistenceManager.
		PersistenceManager pm2 = new PersistenceManager(driver,database,login,password);
		List<StringArrayContainer> list = pm2.getObjects(StringArrayContainer.class,new All());
		assertEquals(1,list.size());
		StringArrayContainer copy = list.get(0);
		assertEquals(sac.getValues().length,copy.getValues().length);
		for(int x = 0;x<sac.getValues().length;x++)
		{
			assertEquals(sac.getValues()[x],copy.getValues()[x]);
		}
		
		//change the original object's array contents
		sac.getValues()[0]="Nonsense";
		pm1.saveObject(sac);
		//check that the change propagates
		assertTrue(pm2.hasChanged(copy));
		//get the refreshed copy
		pm2.refresh(copy);
		assertEquals(sac.getValues().length,copy.getValues().length);
		for(int x = 0;x<sac.getValues().length;x++)
		{
			assertEquals(sac.getValues()[x],copy.getValues()[x]);
		}
		
		//change the original object's length
		sac.setValues(new String[]{"one","two","three","four"});
		pm1.saveObject(sac);
		//check that the change propagates
		assertTrue(pm2.hasChanged(copy));
		//get the refreshed copy
		pm2.refresh(copy);
		assertEquals(sac.getValues().length,copy.getValues().length);
		for(int x = 0;x<sac.getValues().length;x++)
		{
			assertEquals(sac.getValues()[x],copy.getValues()[x]);
		}
		
		pm2.close();
		pm1.close();
	}