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