### Question:
JaxRsCdiExtension implements Extension { boolean isNamedRoutingRequired(io.helidon.config.Config config, JaxRsApplication jaxRsApplication) { return config.get(jaxRsApplication.appClassName() + "." + RoutingName.CONFIG_KEY_REQUIRED) .asBoolean() .orElseGet(jaxRsApplication::routingNameRequired); }  List<JaxRsApplication> applicationsToRun(); void removeApplications(); void removeResourceClasses(); void addResourceClasses(List<Class<?>> resourceClasses); void addApplications(List<JaxRsApplication> applications); void addApplication(Application application); void addApplication(String contextRoot, Application application); String serviceName(); void addSyntheticApplication(List<Class<?>> resourceClasses);  }### Answer:
@Test void testRoutingRequired() { JaxRsApplication app = JaxRsApplication.create(TestApp.class); boolean required = extension.isNamedRoutingRequired(EMPTY_CONFIG, app); assertThat("Routing name is required by annotation", required, is(true)); }
@Test void testRoutingNotRequired() { JaxRsApplication app = JaxRsApplication.builder() .application(TestApp.class) .routingNameRequired(false) .build(); boolean required = extension.isNamedRoutingRequired(EMPTY_CONFIG, app); assertThat("Routing name required is overridden by builder", required, is(false)); }
@Test void testRoutingNotRequiredConfig() { JaxRsApplication app = JaxRsApplication.create(TestApp.class); Config config = Config .create(ConfigSources.create(Map.of(TestApp.class.getName() + "." + RoutingName.CONFIG_KEY_REQUIRED, "false"))); boolean required = extension.isNamedRoutingRequired(config, app); assertThat("Routing name required is overridden by config", required, is(false)); }