Home | History | Annotate | Download | only in dataprovider
      1 package test.dataprovider;
      2 
      3 import com.google.inject.AbstractModule;
      4 import com.google.inject.name.Names;
      5 
      6 import org.testng.Assert;
      7 import org.testng.annotations.Guice;
      8 import org.testng.annotations.Test;
      9 
     10 @Guice(modules = StaticDataProviderSampleTest.InjectionProviderModule.class)
     11 public 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