test_class.file: container/core/src/test/java/org/microbule/container/core/SimpleContainerTest.java
test_class.identifier: SimpleContainerTest
test_class.superclass: extends MockObjectTestCase
test_case.body: @Test
      public void testMapWitDuplicate() {
          final SimpleContainer container = new SimpleContainer();
          final Map<Integer, String> map = container.pluginMap(String.class, String::length);
          container.addBean("a");
          container.addBean("b");
          container.initialize();
  
          assertEquals("a", map.get(1));
          assertEquals(1, map.size());
      }
test_case.class_method_signature: SimpleContainerTest.testMapWitDuplicate()
test_case.full_signature: @Test public void testMapWitDuplicate()
test_case.identifier: testMapWitDuplicate
test_case.invocations: pluginMap addBean addBean initialize assertEquals get assertEquals size
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testMapWitDuplicate()
focal_class.declarator: beans = new CopyOnWriteArraySet<>()
focal_class.modifier: private final
focal_class.original_string: private final Set<Object> beans = new CopyOnWriteArraySet<>();
focal_class.type: Set<Object>
focal_class.var_name: beans
focal_class.file: container/core/src/main/java/org/microbule/container/core/SimpleContainer.java
focal_class.identifier: SimpleContainer
focal_class.class_method_signature: SimpleContainer.addBean(Object bean)
focal_class.full_signature: public void addBean(Object bean)
focal_class.identifier: addBean
focal_class.modifiers: public
focal_class.parameters: (Object bean)
focal_class.return: void
focal_class.signature: void addBean(Object bean)
focal_class.class_method_signature: SimpleContainer.plugins(Class<B> pluginType)
focal_class.full_signature: @Override protected Iterable<B> plugins(Class<B> pluginType)
focal_class.identifier: plugins
focal_class.modifiers: @Override protected
focal_class.parameters: (Class<B> pluginType)
focal_class.return: Iterable<B>
focal_class.signature: Iterable<B> plugins(Class<B> pluginType)
focal_class.class_method_signature: SimpleContainer.removeBean(Object bean)
focal_class.full_signature: public void removeBean(Object bean)
focal_class.identifier: removeBean
focal_class.modifiers: public
focal_class.parameters: (Object bean)
focal_class.return: void
focal_class.signature: void removeBean(Object bean)
focal_class.class_method_signature: SimpleContainer.servers()
focal_class.full_signature: @Override protected Iterable<ServerDefinition> servers()
focal_class.identifier: servers
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: Iterable<ServerDefinition>
focal_class.signature: Iterable<ServerDefinition> servers()
focal_class.class_method_signature: SimpleContainer.shutdown()
focal_class.full_signature: public void shutdown()
focal_class.identifier: shutdown
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void shutdown()
focal_class.class_method_signature: SimpleContainer.idOf(Object bean)
focal_class.full_signature: private String idOf(Object bean)
focal_class.identifier: idOf
focal_class.modifiers: private
focal_class.parameters: (Object bean)
focal_class.return: String
focal_class.signature: String idOf(Object bean)
focal_class.superclass: extends StaticContainer
focal_method.body: public void addBean(Object bean) {
          beans.add(bean);
      }
focal_method.class_method_signature: SimpleContainer.addBean(Object bean)
focal_method.full_signature: public void addBean(Object bean)
focal_method.identifier: addBean
focal_method.invocations: add
focal_method.modifiers: public
focal_method.parameters: (Object bean)
focal_method.return: void
focal_method.signature: void addBean(Object bean)