@Test
  public void addExtensionPointTest() throws KettlePluginException {
    ExtensionPointMap.getInstance().addExtensionPoint(pluginInterface);
    assertEquals(ExtensionPointMap.getInstance().get(TEST_NAME).get("testID"), extensionPoint);

    // Verify cached instance
    assertEquals(ExtensionPointMap.getInstance().get(TEST_NAME).get("testID"), extensionPoint);
    verify(pluginInterface, times(1)).loadClass(any(Class.class));
  }
  @Test
  public void constructorTest() throws Exception {
    PluginRegistry.getInstance().registerPlugin(ExtensionPointPluginType.class, pluginInterface);
    assertEquals(1, ExtensionPointMap.getInstance().getMap().size());

    PluginRegistry.getInstance().registerPlugin(ExtensionPointPluginType.class, pluginInterface);
    assertEquals(1, ExtensionPointMap.getInstance().getMap().size());

    PluginRegistry.getInstance().removePlugin(ExtensionPointPluginType.class, pluginInterface);
    assertEquals(0, ExtensionPointMap.getInstance().getMap().size());

    // Verify lazy loading
    verify(pluginInterface, never()).loadClass(any(Class.class));
  }