package triaina.test.injector.binder; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import triaina.injector.binder.BinderContainer; import triaina.injector.binder.DynamicBinder; import junit.framework.TestCase; public class BinderContainerTest extends TestCase { @Override protected void setUp() throws Exception { super.setUp(); BinderContainer.clear(); } public void testPutAndGet() throws Exception { DynamicBinder binder = new DynamicBinder("AAA", "a1"); binder.bind(List.class); binder.to(ArrayList.class); BinderContainer.put(binder); binder = new DynamicBinder("AAA", "a2"); binder.bind(List.class); binder.to(LinkedList.class); BinderContainer.put(binder); List<DynamicBinder> list = BinderContainer.get(List.class); assertEquals(2, list.size()); assertEquals("AAA", list.get(0).getName()); assertEquals("AAA", list.get(1).getName()); } public void testPutAndGetOnException() { DynamicBinder binder = new DynamicBinder("AAA", "a1"); binder.bind(List.class); binder.to(ArrayList.class); BinderContainer.put(binder); binder = new DynamicBinder("BBB", "a2"); binder.bind(List.class); binder.to(LinkedList.class); try { BinderContainer.put(binder); fail(); } catch (Exception exp) { } List<DynamicBinder> list = BinderContainer.get(List.class); assertEquals(1, list.size()); assertEquals("AAA", list.get(0).getName()); } }