### Question:
LocalModuleConfigExecutor implements BiFunctionConfigExecutor<Source, LocalProjectConfig, ProjectConfig> { @Override public Optional<ProjectConfig> apply(Source source, LocalProjectConfig localProjectConfig) { Module module = moduleService.resolveModule(Paths.convert(source.getPath().resolve("pom.xml"))); return Optional.of(new LocalModuleImpl(module)); } LocalModuleConfigExecutor(); @Inject  LocalModuleConfigExecutor(final KieModuleService moduleService); @Override Optional<ProjectConfig> apply(Source source,
                                         LocalProjectConfig localProjectConfig); @Override Class<? extends Config> executeFor(); @Override String outputId();  }### Answer:
@Test public void testApply() { Path pomPath = Paths.convert(POM_PATH); when(sourceConfig.getPath()).thenReturn(ROOT_PATH); when(moduleService.resolveModule(pomPath)).thenReturn(module); Optional<ProjectConfig> result = executor.apply(sourceConfig, projectConfig); assertTrue(result.isPresent()); assertEquals(module, ((LocalModule) result.get()).getModule()); }