/** Test getProviders method */ @Test public void testGetProvider() { // Register 3 providers, mixed data types TestProvider1 testProvider1 = new TestProvider1(ITmfEvent.class); TestProvider2 testProvider2 = new TestProvider2(ITmfEvent.class); TestProvider3 testProvider3 = new TestProvider3(TmfEvent3.class); TmfEventProvider[] providers = TmfProviderManager.getProviders(ITmfEvent.class, null); assertEquals("getProviders", 2, providers.length); if (providers[0] == testProvider1) { assertEquals("getProviders", testProvider2, providers[1]); } else { assertEquals("getProviders", testProvider2, providers[0]); assertEquals("getProviders", testProvider1, providers[1]); } providers = TmfProviderManager.getProviders(TmfEvent3.class, null); assertEquals("getProviders", 1, providers.length); assertEquals("getProviders", testProvider3, providers[0]); // Remove the providers testProvider1.dispose(); testProvider2.dispose(); testProvider3.dispose(); }
/** Test unregistering */ @Test public void testRegister_Unregister_2() { // Register 2 providers, same data type TestProvider1 testProvider1 = new TestProvider1(ITmfEvent.class); TestProvider2 testProvider2 = new TestProvider2(ITmfEvent.class); TmfEventProvider[] providers = TmfProviderManager.getProviders(ITmfEvent.class); assertEquals("getProviders", 2, providers.length); assertTrue(providers.length == 2); if (providers[0] == testProvider1) { assertEquals("getProviders", testProvider2, providers[1]); } else { assertEquals("getProviders", testProvider2, providers[0]); assertEquals("getProviders", testProvider1, providers[1]); } providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class); assertEquals("getProviders", 1, providers.length); assertEquals("getProviders", testProvider1, providers[0]); providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider2.class); assertEquals("getProviders", 1, providers.length); assertEquals("getProviders", testProvider2, providers[0]); // Remove one testProvider1.dispose(); providers = TmfProviderManager.getProviders(ITmfEvent.class); assertEquals("getProviders", 1, providers.length); assertEquals("getProviders", testProvider2, providers[0]); providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class); assertEquals("getProviders", 0, providers.length); providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider2.class); assertEquals("getProviders", 1, providers.length); assertEquals("getProviders", testProvider2, providers[0]); // Remove the other testProvider2.dispose(); providers = TmfProviderManager.getProviders(ITmfEvent.class); assertEquals("getProviders", 0, providers.length); providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class); assertEquals("getProviders", 0, providers.length); providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider2.class); assertEquals("getProviders", 0, providers.length); }
/** Test unregistering */ @Test public void testRegister_Unregister_1() { // Register a single provider TestProvider1 testProvider1 = new TestProvider1(ITmfEvent.class); TmfEventProvider[] providers = TmfProviderManager.getProviders(ITmfEvent.class); assertEquals("getProviders", 1, providers.length); assertEquals("getProviders", testProvider1, providers[0]); providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class); assertEquals("getProviders", 1, providers.length); assertEquals("getProviders", testProvider1, providers[0]); // Unregister it testProvider1.dispose(); providers = TmfProviderManager.getProviders(ITmfEvent.class); assertEquals("getProviders", 0, providers.length); providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class); assertEquals("getProviders", 0, providers.length); }
/** Test unregistering */ @Test public void testRegister_Unregister_3() { // Register 3 providers, mixed data types TestProvider1 testProvider1 = new TestProvider1(ITmfEvent.class); TestProvider2 testProvider2 = new TestProvider2(ITmfEvent.class); TestProvider3 testProvider3 = new TestProvider3(TmfEvent3.class); TmfEventProvider[] providers = TmfProviderManager.getProviders(ITmfEvent.class); assertEquals("getProviders", 2, providers.length); if (providers[0] == testProvider1) { assertEquals("getProviders", testProvider2, providers[1]); } else { assertEquals("getProviders", testProvider2, providers[0]); assertEquals("getProviders", testProvider1, providers[1]); } TmfEventProvider[] providers3 = TmfProviderManager.getProviders(TmfEvent3.class); assertEquals("getProviders", 1, providers3.length); assertEquals("getProviders", testProvider3, providers3[0]); providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class); assertEquals("getProviders", 1, providers.length); assertEquals("getProviders", testProvider1, providers[0]); providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider2.class); assertEquals("getProviders", 1, providers.length); assertEquals("getProviders", testProvider2, providers[0]); providers3 = TmfProviderManager.getProviders(TmfEvent3.class, TestProvider3.class); assertEquals("getProviders", 1, providers3.length); assertEquals("getProviders", testProvider3, providers3[0]); // Remove one testProvider1.dispose(); providers = TmfProviderManager.getProviders(ITmfEvent.class); assertEquals("getProviders", 1, providers.length); assertEquals("getProviders", testProvider2, providers[0]); providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class); assertEquals("getProviders", 0, providers.length); providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider2.class); assertEquals("getProviders", 1, providers.length); assertEquals("getProviders", testProvider2, providers[0]); providers3 = TmfProviderManager.getProviders(TmfEvent3.class); assertEquals("getProviders", 1, providers3.length); assertEquals("getProviders", testProvider3, providers3[0]); providers3 = TmfProviderManager.getProviders(TmfEvent3.class, TestProvider3.class); assertEquals("getProviders", 1, providers3.length); assertEquals("getProviders", testProvider3, providers3[0]); // Remove another one testProvider2.dispose(); providers = TmfProviderManager.getProviders(ITmfEvent.class); assertEquals("getProviders", 0, providers.length); providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class); assertEquals("getProviders", 0, providers.length); providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider2.class); assertEquals("getProviders", 0, providers.length); providers3 = TmfProviderManager.getProviders(TmfEvent3.class); assertTrue(providers3.length == 1); assertTrue(providers3[0] == testProvider3); providers3 = TmfProviderManager.getProviders(TmfEvent3.class, TestProvider3.class); assertEquals("getProviders", 1, providers3.length); assertEquals("getProviders", testProvider3, providers3[0]); // Remove the last one testProvider3.dispose(); providers = TmfProviderManager.getProviders(ITmfEvent.class); assertEquals("getProviders", 0, providers.length); providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider1.class); assertEquals("getProviders", 0, providers.length); providers = TmfProviderManager.getProviders(ITmfEvent.class, TestProvider2.class); assertEquals("getProviders", 0, providers.length); providers3 = TmfProviderManager.getProviders(TmfEvent3.class); assertEquals("getProviders", 0, providers.length); providers3 = TmfProviderManager.getProviders(TmfEvent3.class, TestProvider3.class); assertEquals("getProviders", 0, providers.length); }