ParamEngineFactory { public static ParamEngine paramEngine(ParamEngineConfig config) { return new ParamEngineFactory().createParamEngine(config); }  static ParamEngine paramEngine(ParamEngineConfig config); ParamEngine createParamEngine(ParamEngineConfig config);  }
@Test public void shouldCreateBasicParamEngine() { ParamEngineConfig config = ParamEngineConfigBuilder.paramEngineConfig().build(); ParamEngine engine = ParamEngineFactory.paramEngine(config); assertThat(engine).isNotNull(); }
@Test public void shouldInitializeInitializableParamRepositories() { InitializableParamRepository repository = mock(InitializableParamRepository.class); ParamEngineConfig config = ParamEngineConfigBuilder.paramEngineConfig() .withParameterRepository(repository) .build(); ParamEngineFactory.paramEngine(config); verify(repository).initialize(); }