test_class.declarator: configService
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ConfigService configService;
test_class.type: ConfigService
test_class.var_name: configService
test_class.file: core/src/test/java/org/microbule/core/DefaultJaxrsConfigBuilderTest.java
test_class.identifier: DefaultJaxrsConfigBuilderTest
test_class.superclass: extends MockObjectTestCase
test_case.body: @Test
      public void testBuild() {
          final DefaultJaxrsConfigBuilder<HelloService> builder = new DefaultJaxrsConfigBuilder<>(configService, HelloService.class, "hello");
          MapConfig c = new MapConfig();
          c.addValue("key", "value1");
          when(configService.createConfig("a", "b", "c")).thenReturn(c);
          MapConfig d = new MapConfig();
          d.addValue("key", "value2");
          when(configService.createConfig("a", "b", "d")).thenReturn(d);
          final Config config = builder.withPath("a", "b", "c")
                  .withPath("a", "b", "d")
                  .build();
          assertEquals("value1", config.value("key").get());
      }
test_case.class_method_signature: DefaultJaxrsConfigBuilderTest.testBuild()
test_case.full_signature: @Test public void testBuild()
test_case.identifier: testBuild
test_case.invocations: addValue thenReturn when createConfig addValue thenReturn when createConfig build withPath withPath assertEquals get value
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testBuild()
focal_class.declarator: configService
focal_class.modifier: private final
focal_class.original_string: private final ConfigService configService;
focal_class.type: ConfigService
focal_class.var_name: configService
focal_class.declarator: serviceInterface
focal_class.modifier: private final
focal_class.original_string: private final Class<T> serviceInterface;
focal_class.type: Class<T>
focal_class.var_name: serviceInterface
focal_class.declarator: serviceName
focal_class.modifier: private final
focal_class.original_string: private final String serviceName;
focal_class.type: String
focal_class.var_name: serviceName
focal_class.declarator: members = new LinkedList<>()
focal_class.modifier: private final
focal_class.original_string: private final List<Config> members = new LinkedList<>();
focal_class.type: List<Config>
focal_class.var_name: members
focal_class.file: core/src/main/java/org/microbule/core/DefaultJaxrsConfigBuilder.java
focal_class.identifier: DefaultJaxrsConfigBuilder
focal_class.interfaces: implements JaxrsConfigBuilder
focal_class.class_method_signature: DefaultJaxrsConfigBuilder.DefaultJaxrsConfigBuilder(ConfigService configService, Class<T> serviceInterface, String serviceName)
focal_class.full_signature: public  DefaultJaxrsConfigBuilder(ConfigService configService, Class<T> serviceInterface, String serviceName)
focal_class.identifier: DefaultJaxrsConfigBuilder
focal_class.modifiers: public
focal_class.parameters: (ConfigService configService, Class<T> serviceInterface, String serviceName)
focal_class.signature:  DefaultJaxrsConfigBuilder(ConfigService configService, Class<T> serviceInterface, String serviceName)
focal_class.class_method_signature: DefaultJaxrsConfigBuilder.build()
focal_class.full_signature: @Override public Config build()
focal_class.identifier: build
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Config
focal_class.signature: Config build()
focal_class.class_method_signature: DefaultJaxrsConfigBuilder.serviceInterface()
focal_class.full_signature: @Override public Class<T> serviceInterface()
focal_class.identifier: serviceInterface
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Class<T>
focal_class.signature: Class<T> serviceInterface()
focal_class.class_method_signature: DefaultJaxrsConfigBuilder.serviceName()
focal_class.full_signature: @Override public String serviceName()
focal_class.identifier: serviceName
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String serviceName()
focal_class.class_method_signature: DefaultJaxrsConfigBuilder.withPath(String... path)
focal_class.full_signature: @Override public JaxrsConfigBuilder withPath(String... path)
focal_class.identifier: withPath
focal_class.modifiers: @Override public
focal_class.parameters: (String... path)
focal_class.return: JaxrsConfigBuilder
focal_class.signature: JaxrsConfigBuilder withPath(String... path)
focal_method.body: @Override
      public Config build() {
          return CompositeConfig.create(members);
      }
focal_method.class_method_signature: DefaultJaxrsConfigBuilder.build()
focal_method.full_signature: @Override public Config build()
focal_method.identifier: build
focal_method.invocations: create
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: Config
focal_method.signature: Config build()