public void testPropagatesDeeply() { PainterRegistryImpl r1 = new PainterRegistryImpl("a", "b", new AnnotationPainter(null)); PainterRegistryImpl r2 = (PainterRegistryImpl) r1.createExtension(); PainterRegistryImpl r3 = (PainterRegistryImpl) r2.createExtension(); r1.registerBoundaryFunction(CollectionUtils.newStringSet("a"), b1); assertTrue(r3.getBoundaryFunctions().contains(b1)); r1.registerPaintFunction(CollectionUtils.newStringSet("b"), p1); assertTrue(r3.getPaintFunctions().contains(p1)); }
/** Miscellaneous tests that depend on the previous state for convenience */ public void testMiscellaneous() { PainterRegistryImpl r = new PainterRegistryImpl("a", "b", new AnnotationPainter(null)); assertTrue(r.getPaintFunctions().isEmpty()); // Test we get back the function we registered r.registerPaintFunction(CollectionUtils.newStringSet("a"), p1); assertSame(p1, r.getPaintFunctions().iterator().next()); PainterRegistryImpl r2 = (PainterRegistryImpl) r.createExtension(); // Test the extension contains the function assertSame(p1, r2.getPaintFunctions().iterator().next()); assertEquals(r.debugGetVersion(), r2.debugGetKnownParentVersion()); // Test propagation occurs r.registerPaintFunction(CollectionUtils.newStringSet("b"), p2); assertFalse(r.debugGetVersion() == r2.debugGetKnownParentVersion()); assertTrue(r2.getPaintFunctions().contains(p2)); assertEquals(r.debugGetVersion(), r2.debugGetKnownParentVersion()); PainterRegistryImpl r3 = (PainterRegistryImpl) r2.createExtension(); // ensure cache is filled r3.getPaintFunctions(); // Test propagation occurs two levels deep after caching r.registerPaintFunction(CollectionUtils.newStringSet("c"), p3); assertFalse(r.debugGetVersion() == r2.debugGetKnownParentVersion()); assertTrue(r2.getPaintFunctions().contains(p3)); assertEquals(r.debugGetVersion(), r2.debugGetKnownParentVersion()); assertFalse(r2.debugGetVersion() == r3.debugGetKnownParentVersion()); assertTrue(r3.getPaintFunctions().contains(p3)); assertEquals(r2.debugGetVersion(), r3.debugGetKnownParentVersion()); }
public void testInitialState() { PainterRegistryImpl r = new PainterRegistryImpl("a", "b", new AnnotationPainter(null)); PainterRegistryImpl r2 = (PainterRegistryImpl) r.createExtension(); r2.registerPaintFunction(CollectionUtils.newStringSet("b"), p2); assertTrue(r2.getPaintFunctions().contains(p2)); assertTrue(r2.getKeys().contains("b")); r2.registerPaintFunction(CollectionUtils.newStringSet("d"), p4); assertTrue(r2.getPaintFunctions().contains(p4)); assertTrue(r2.getKeys().contains("d")); r2.registerBoundaryFunction(CollectionUtils.newStringSet("e"), b1); assertTrue(r2.getBoundaryFunctions().contains(b1)); assertTrue(r2.getKeys().contains("e")); }