TestBean p = new TestBean();
BeanPropertyAccessStrategy pas = new BeanPropertyAccessStrategy(p);
TestPropertyChangeListener pcl = new TestPropertyChangeListener(FormModel.DIRTY_PROPERTY);
AbstractFormModel fm = getFormModel(pas, buffering);
fm.addPropertyChangeListener(FormModel.DIRTY_PROPERTY, pcl);
ValueModel vm = fm.getValueModel("simpleProperty");
assertTrue(!fm.isDirty());
vm.setValue("2");
assertTrue(fm.isDirty());
assertEquals(1, pcl.eventCount());
fm.commit();
assertTrue(!fm.isDirty());
assertEquals(2, pcl.eventCount());
vm.setValue("1");
assertTrue(fm.isDirty());
assertEquals(3, pcl.eventCount());
fm.setFormObject(new TestBean());
assertTrue(!fm.isDirty());
assertEquals(4, pcl.eventCount());
vm.setValue("2");
assertTrue(fm.isDirty());
assertEquals(5, pcl.eventCount());
fm.revert();
assertTrue(!fm.isDirty());