/** Tests listeners get events. */ public void testEvents() { Listener listener1 = new Listener(); Listener listener2 = new Listener(); map.addListener(listener1); // New values map.put("A", 100); listener1.check(1, "A", null, 100); map.put("B", 200); listener1.check(2, "B", null, 200); map.put("A", 300); listener1.check(3, "A", 100, 300); // No change map.put("B", 200); listener1.check(3); // Add a second listener - both should get same event map.addListener(listener2); listener2.check(0); map.put("B", 400); listener1.check(4, "B", 200, 400); listener2.check(1, "B", 200, 400); // Remove one listener map.removeListener(listener1); map.put("A", 500); listener1.check(4); // no more events here listener2.check(2, "A", 300, 500); // but one here }
/** Tests listeners get events. */ public void testEvents() { Listener listener1 = new Listener(); Listener listener2 = new Listener(); map.addListener(listener1); // New values map.put("A", 100); listener1.check(1, "A", null, 100); map.put("B", 200); listener1.check(2, "B", null, 200); map.put("A", 300); listener1.check(3, "A", 100, 300); // No change map.put("B", 200); listener1.check(3); // Add a second listener - both should get same event map.addListener(listener2); listener2.check(0); map.put("B", 400); listener1.check(4, "B", 200, 400); listener2.check(1, "B", 200, 400); // Remove one listener map.removeListener(listener1); map.put("A", 500); listener1.check(4); // no more events here listener2.check(2, "A", 300, 500); // but one here }