@Test public void testCategories() { // Categories Iterator<Class<?>> categories = registry.categories(); assertTrue(categories.hasNext()); Class<?> category = categories.next(); assertEquals(DummySPI.class, category); assertFalse(categories.hasNext()); }
@Test public void testCompatibleCategoriesNonRegistered() { Iterator<Class<?>> categories = registry.compatibleCategories(new DummySPI() {}); assertTrue(categories.hasNext()); assertEquals(DummySPI.class, categories.next()); assertFalse(categories.hasNext()); }
@Test public void testRegister() { // Register DummySPI dummy = new DummySPI() {}; assertTrue(registry.register(dummy)); // Should now have category Iterator<Class<?>> categories = registry.containingCategories(dummy); assertTrue(categories.hasNext()); assertEquals(DummySPI.class, categories.next()); assertFalse(categories.hasNext()); // Should now be in providers Iterator<DummySPI> providers = registry.providers(DummySPI.class); List<DummySPI> providerList = new ArrayList<DummySPI>(); CollectionUtil.addAll(providerList, providers); assertEquals(3, providerList.size()); assertNotNull(providerList.get(1)); assertSame(dummy, providerList.get(2)); }
@Test public void testDeregister() { Iterator<DummySPI> providers = registry.providers(DummySPI.class); assertTrue(providers.hasNext()); // Sanity check DummySPI instance = providers.next(); assertTrue(registry.deregister(instance)); // Test no longer in registry providers = registry.providers(DummySPI.class); int count = 0; while (providers.hasNext()) { DummySPI next = providers.next(); assertNotSame(instance, next); count++; } assertEquals(1, count); }
@Test public void testDeregister() { Iterator<DummySPI> providers = registry.providers(DummySPI.class); assertTrue(providers.hasNext()); // Sanity check DummySPI instance = providers.next(); assertTrue(registry.deregister(instance)); // Test no longer in registry providers = registry.providers(DummySPI.class); int count = 0; while (providers.hasNext()) { DummySPI next = providers.next(); assertNotSame(instance, next); count++; } assertEquals(1, count); }
@Test public void testRegister() { // Register DummySPI dummy = new DummySPI() {}; assertTrue(registry.register(dummy)); // Should now have category Iterator<Class<?>> categories = registry.containingCategories(dummy); assertTrue(categories.hasNext()); assertEquals(DummySPI.class, categories.next()); assertFalse(categories.hasNext()); // Should now be in providers Iterator<DummySPI> providers = registry.providers(DummySPI.class); List<DummySPI> providerList = new ArrayList<DummySPI>(); CollectionUtil.addAll(providerList, providers); assertEquals(3, providerList.size()); assertNotNull(providerList.get(1)); assertSame(dummy, providerList.get(2)); }
@Test public void testRegister() { // Register DummySPI dummy = new DummySPI() {}; assertTrue(registry.register(dummy)); // Should now have category Iterator<Class<?>> categories = registry.containingCategories(dummy); assertTrue(categories.hasNext()); assertEquals(DummySPI.class, categories.next()); assertFalse(categories.hasNext()); // Should now be in providers Iterator<DummySPI> providers = registry.providers(DummySPI.class); List<DummySPI> providerList = new ArrayList<DummySPI>(); CollectionUtil.addAll(providerList, providers); assertEquals(3, providerList.size()); assertNotNull(providerList.get(1)); assertSame(dummy, providerList.get(2)); }
@Test public void testDeregisterIncompatible() { assertFalse(registry.deregister(new Object())); }
@Test public void testRegisterIncompatible() { assertFalse(registry.register(new Object())); }
@Test public void testRegisterNull() { assertFalse(registry.register(null)); }
@Test public void testRegisterIncompatible() { assertFalse(registry.register(new Object())); }
@Test public void testDeregisterNull() { assertFalse(registry.deregister(null)); }
@Test public void testRegisterNull() { assertFalse(registry.register(null)); }
@Test public void testDeregisterIncompatible() { assertFalse(registry.deregister(new Object())); }
@Test public void testProviders() { // Providers Iterator<DummySPI> providers = registry.providers(DummySPI.class); List<DummySPI> providerList = new ArrayList<DummySPI>(); CollectionUtil.addAll(providerList, providers); assertEquals(2, providerList.size()); // Order should be as in configuration file assertNotNull(providerList.get(0)); assertEquals(DummySPIImpl.class, providerList.get(0).getClass()); assertNotNull(providerList.get(1)); assertEquals(DummySPIToo.class, providerList.get(1).getClass()); }
@Test public void testDeregisterCompatibleNonRegistered() { DummySPI dummy = new DummySPI() {}; assertFalse(registry.deregister(dummy)); }
@Test public void testCompatibleCategoriesUnknownType() { Iterator<Class<?>> categories = registry.compatibleCategories(new Object()); assertFalse(categories.hasNext()); }
@Test public void testCompatibleCategoriesImpl() { Iterator<Class<?>> categories = registry.compatibleCategories(new DummySPIImpl()); assertTrue(categories.hasNext()); assertEquals(DummySPI.class, categories.next()); assertFalse(categories.hasNext()); }
@SuppressWarnings("unchecked") public TestRegistry() { super(Arrays.asList(DummySPI.class).iterator()); registerApplicationClasspathSPIs(); } }
@Test public void testCompatibleCategoriesUnknownType() { Iterator<Class<?>> categories = registry.compatibleCategories(new Object()); assertFalse(categories.hasNext()); }