* the <i>buffering</i> property.
*/
public void testFiresBufferingChanges() {
BufferedValueModel buffer = createDefaultBufferedValueModel();
TestPropertyChangeListener pcl = new TestPropertyChangeListener(BufferedValueModel.BUFFERING_PROPERTY);
buffer.addPropertyChangeListener(BufferedValueModel.BUFFERING_PROPERTY, pcl);
assertEquals("Initial state.", 0, pcl.eventCount());
buffer.getValue();
assertEquals("Reading initial value.", 0, pcl.eventCount());
buffer.setCommitTrigger(null);
buffer.setCommitTrigger(commitTrigger);
assertEquals("After commit trigger change.", 0, pcl.eventCount());
buffer.setValue("now buffering");
assertEquals("After setting the first value.", 1, pcl.eventCount());
buffer.setValue("still buffering");
assertEquals("After setting the second value.", 1, pcl.eventCount());
buffer.getValue();
assertEquals("Reading buffered value.", 1, pcl.eventCount());
wrapped.setValue(buffer.getValue());
assertEquals("Changing wrapped to same as buffer.", 2, pcl.eventCount());
commit();
assertEquals("After committing.", 2, pcl.eventCount());
buffer.getValue();
assertEquals("Reading unbuffered value.", 2, pcl.eventCount());
buffer.setValue("buffering again");
assertEquals("After second buffering switch.", 3, pcl.eventCount());
revert();
assertEquals("After flushing.", 4, pcl.eventCount());
buffer.getValue();
assertEquals("Reading unbuffered value.", 4, pcl.eventCount());
buffer.setValue("before real commit");
assertEquals("With new change to be committed", 5, pcl.eventCount());
commit();
assertEquals("With new change committed", 6, pcl.eventCount());
}