@Test
public void testKeySet(){

   final String key1 = "key1";
   final String key2 = "key2";
   final String key3 = "key3";
   final String value1 = "value1";
   final String value2 = "value2";
   final String value3 = "value3";
   
   String[] oracle1 = {key1, key2};
   String[] oracle2 = {key1, key2, key3};
   
   WizardSettings s = new StackWizardSettings();
   s.newPage("page1");
   s.put(key1, value1);
   s.put(key2, value2);
   
   Set<String> keys = s.keySet();
   assertEquals(oracle1, keys);
   
   s.newPage("page2");
   s.put(key3, value3);
   keys = s.keySet();
   assertEquals(oracle2, keys);
         
   // roll back and ensure the set still makes sense:
   s.rollBack();
   keys = s.keySet();
   assertEquals(oracle1, keys);
}