### Question:
NoarkIoc implements Ioc { @Override public <T> T get(Class<T> klass) { return klass.cast(singletons.get(klass)); } NoarkIoc(String packager); @Override T get(Class<T> klass); void invokeCustomAnnotationMethod(Class<? extends Annotation> klass); @SuppressWarnings("unchecked") List<T> findImpl(final Class<T> klass); void addCustomMethod(Class<? extends Annotation> klass, MethodWrapper mw); void destroy();  }### Answer:
@Test public void test() { Ioc ioc = new NoarkIoc("xyz.noark.core.ioc.demo"); BagService bagService = ioc.get(BagService.class); assertNotNull(bagService); assertNotNull(bagService.getItemService()); assertNotNull(bagService.getVipService()); assertNotNull(bagService.getCommands()); assertTrue(bagService.getCommands().size() == 3); assertTrue(bagService.getCommandList().size() == 3); assertTrue("rmb".equals(bagService.getCommands().get(" assertTrue("item".equals(bagService.getCommands().get(" assertTrue("exp".equals(bagService.getCommands().get(" System.out.println(bagService.getCommandList()); }