1package test.dataprovider;
2
3import com.google.inject.AbstractModule;
4import com.google.inject.name.Names;
5
6import org.testng.Assert;
7import org.testng.annotations.Guice;
8import org.testng.annotations.Test;
9
10@Guice(modules = StaticDataProviderSampleTest.InjectionProviderModule.class)
11public class StaticDataProviderSampleTest {
12
13  @Test(dataProvider = "static", dataProviderClass = StaticProvider.class)
14  public void verifyStatic(String s) {
15    Assert.assertEquals(s, "Cedric");
16  }
17
18  @Test(dataProvider = "external", dataProviderClass = NonStaticProvider.class)
19  public void verifyExternal(String s) {
20    Assert.assertEquals(s, "Cedric");
21  }
22
23  @Test(dataProvider = "injection", dataProviderClass = FieldInjectionProvider.class)
24  public void verifyFieldInjection(String s) {
25    Assert.assertEquals(s, "Cedric");
26  }
27
28  @Test(dataProvider = "injection", dataProviderClass = ConstructorInjectionProvider.class)
29  public void verifyConstructorInjection(String s) {
30    Assert.assertEquals(s, "Cedric");
31  }
32
33  public static class InjectionProviderModule extends AbstractModule {
34
35    @Override
36    protected void configure() {
37      bind(String.class).annotatedWith(Names.named("test")).toInstance("Cedric");
38    }
39  }
40}
41