1 16 17 package com.google.inject; 18 19 import junit.framework.TestCase; 20 21 24 public class ProviderInjectionTest extends TestCase { 25 26 public void testProviderInjection() throws CreationException { 27 BinderImpl builder = new BinderImpl(); 28 29 builder.bind(Bar.class); 30 builder.bind(SampleSingleton.class).in(Scopes.SINGLETON); 31 32 Injector injector = builder.createInjector(); 33 34 Foo foo = injector.getInstance(Foo.class); 35 36 Bar bar = foo.barProvider.get(); 37 assertNotNull(bar); 38 assertNotSame(bar, foo.barProvider.get()); 39 40 SampleSingleton singleton = foo.singletonProvider.get(); 41 assertNotNull(singleton); 42 assertSame(singleton, foo.singletonProvider.get()); 43 } 44 45 static class Foo { 46 @Inject Provider<Bar> barProvider; 47 @Inject Provider<SampleSingleton> singletonProvider; 48 } 49 50 static class Bar {} 51 52 static class SampleSingleton {} 53 } 54 | Popular Tags |