1336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustpackage test.dataprovider;
2336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
3336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustimport org.testng.Assert;
4336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
5892b08c1f1afd198fd8ccbf804de28b7ce12f547nullinimport java.util.Iterator;
6892b08c1f1afd198fd8ccbf804de28b7ce12f547nullin
7336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beustpublic class IterableTest {
8336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  private boolean m_ok1 = false;
9336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  private boolean m_ok2 = false;
10336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
11336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  public static final String FN2 = "Anne Marie";
120cd523e46e71bb9a1340432eb43c521cadf3dc71Ryan Schmitt  public static final Integer LN2 = 37;
13336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  public static final String FN1 = "Cedric";
140cd523e46e71bb9a1340432eb43c521cadf3dc71Ryan Schmitt  public static final Integer LN1 = 36;
15892b08c1f1afd198fd8ccbf804de28b7ce12f547nullin
160b2ac5eab08098da2c2b63d4a3f87ba72ad5d6a1nullin  public static final Object[][] DATA = new Object[][] {
17336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust    new Object[] { FN1, LN1 },
18892b08c1f1afd198fd8ccbf804de28b7ce12f547nullin    new Object[] { FN2, LN2 },
19336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  };
20336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
21336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  /**
22336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * @testng.data-provider name="test1"
23336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   */
24336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  public Iterator createData() {
25336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust    return new MyIterator(DATA);
26892b08c1f1afd198fd8ccbf804de28b7ce12f547nullin  }
27336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
28336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  /**
29336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * @testng.test dataProvider="test1"
30336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   */
31336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  public void verifyNames(String firstName, Integer age) {
32336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust    if (firstName.equals(FN1) && age.equals(LN1)) {
33336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust      m_ok1 = true;
34336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust      Assert.assertEquals(MyIterator.getCount(), 1);
35336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust    }
36336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust    if (firstName.equals(FN2) && age.equals(LN2)) {
37336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust      m_ok2 = true;
38336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust      Assert.assertEquals(MyIterator.getCount(), 2);
39336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust    }
40336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  }
41892b08c1f1afd198fd8ccbf804de28b7ce12f547nullin
42336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  /**
43336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   * @testng.test dependsOnMethods = "verifyNames"
44336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust   */
45336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  public void verifyCount() {
46336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust    Assert.assertTrue(m_ok1 && m_ok2);
47336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  }
48892b08c1f1afd198fd8ccbf804de28b7ce12f547nullin
49336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  private static void ppp(String s) {
50336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust    System.out.println("[IterableTest] " + s);
51336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust  }
52336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust}
53336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
54336f0ef401e9f564b8dc99d601ac80e8891ac2c1Cédric Beust
55