@Test public void testSetDefaultClassLoader() { ClassLoader defaultClassLoader = Caching.getDefaultClassLoader(); ClassLoader uniqueClassLoader = new MyClassLoader(Thread.currentThread().getContextClassLoader()); Caching.setDefaultClassLoader(uniqueClassLoader); assertEquals(uniqueClassLoader, Caching.getDefaultClassLoader()); Caching.setDefaultClassLoader(null); assertEquals(defaultClassLoader, Caching.getDefaultClassLoader()); }
@Test public void testJCacheCachingProviders() { Iterable<CachingProvider> iterable = Caching.getCachingProviders(); int i = 0; for (CachingProvider provider : iterable) { System.out.println("provider=" + provider.getClass().getCanonicalName()); i++; } assertEquals(1, i); i = 0; iterable = Caching.getCachingProviders(Caching.getDefaultClassLoader()); for (CachingProvider provider : iterable) { System.out.println("provider=" + provider.getClass().getCanonicalName()); i++; } assertEquals(1, i); // test case added for code coverage i = 0; iterable = Caching.getCachingProviders(null); for (CachingProvider provider : iterable) { System.out.println("provider=" + provider.getClass().getCanonicalName()); i++; } assertEquals(1, i); }
/** * Multiple invocations of {@link javax.cache.spi.CachingProvider#getCacheManager()} * will return the same instance. */ @Test public void getCacheManagerSingleton() { // obtain the default caching provider CachingProvider provider = Caching.getCachingProvider(); // obtain the default class loader ClassLoader classLoader = Caching.getDefaultClassLoader(); // obtain the default cache manager CacheManager manager = provider.getCacheManager(); assertNotNull(classLoader); assertNotNull(manager); // ensure the default manager is the same as asking the provider // for a cache manager using the default URI and classloader assertSame(manager, provider.getCacheManager()); assertSame(manager, provider.getCacheManager(provider.getDefaultURI(), provider.getDefaultClassLoader())); // using a different ClassLoader ClassLoader otherLoader = new MyClassLoader(classLoader); CachingProvider otherProvider = Caching.getCachingProvider(otherLoader); CacheManager otherManager = otherProvider.getCacheManager(); assertSame(otherManager, otherProvider.getCacheManager()); assertSame(otherManager, otherProvider.getCacheManager(otherProvider.getDefaultURI(), otherProvider.getDefaultClassLoader())); }