### Question:
DIBootstrap { public static Injector createInjector(Module... modules) throws DIRuntimeException { return new DefaultInjector(modules); }  static Injector createInjector(Module... modules); static Injector createInjector(Collection<Module> modules);  }### Answer:
@Test public void testCreateInjector_Empty() { Injector emptyInjector = DIBootstrap.createInjector(); assertNotNull(emptyInjector); }
@Test public void testCreateInjector_SingleModule() { final boolean[] configureCalled = new boolean[1]; Module module = binder -> configureCalled[0] = true; Injector injector = DIBootstrap.createInjector(module); assertNotNull(injector); assertTrue(configureCalled[0]); }
@Test public void testCreateInjector_MultiModule() { final boolean[] configureCalled = new boolean[2]; Module module1 = binder -> configureCalled[0] = true; Module module2 = binder -> configureCalled[1] = true; Injector injector = DIBootstrap.createInjector(module1, module2); assertNotNull(injector); assertTrue(configureCalled[0]); assertTrue(configureCalled[1]); }