1 16 17 package com.google.inject; 18 19 import junit.framework.TestCase; 20 21 24 public class SuperclassTest extends TestCase { 25 26 public void testSuperclassInjection() throws CreationException { 27 BinderImpl builder = new BinderImpl(); 28 builder.bind(Foo.class); 29 Injector injector = builder.createInjector(); 30 Provider<Sub> creator = injector.getProvider(Sub.class); 31 Sub sub = creator.get(); 32 sub = creator.get(); 33 sub = creator.get(); 34 sub = creator.get(); 35 sub = creator.get(); 36 assertNotNull(sub.field); 37 assertNotNull(sub.fromMethod); 38 } 39 40 static abstract class Super { 41 @Inject Foo field; 42 43 Foo fromMethod; 44 @Inject void setC(Foo foo) { 45 fromMethod = foo; 46 } 47 } 48 49 static class Sub extends Super { 50 } 51 52 static class Foo {} 53 } 54 | Popular Tags |