1package test.configuration;
2
3import static org.testng.Assert.assertFalse;
4import static org.testng.Assert.assertTrue;
5
6import org.testng.annotations.AfterSuite;
7import org.testng.annotations.AfterTest;
8import org.testng.annotations.BeforeSuite;
9import org.testng.annotations.BeforeTest;
10
11
12public class ExternalConfigurationClass {
13  public static boolean s_afterMethod;
14  public static boolean s_afterClass;
15  public static boolean s_afterTest;
16
17  @BeforeSuite
18  public void beforeSuite() {
19    MethodCallOrderTest.s_beforeSuite = true;
20  }
21
22  @AfterSuite
23  public void cleanUp() {
24    s_afterMethod = false;
25    s_afterClass = false;
26    s_afterTest = false;
27  }
28
29  @BeforeTest
30  public void beforeTest() {
31    assertTrue(MethodCallOrderTest.s_beforeSuite);
32    assertFalse(MethodCallOrderTest.s_beforeTest);
33    assertFalse(MethodCallOrderTest.s_beforeClass);
34    assertFalse(MethodCallOrderTest.s_beforeMethod);
35
36    MethodCallOrderTest.s_beforeTest = true;
37  }
38
39  @AfterTest
40  public void afterTest() {
41    assertTrue(s_afterMethod, "afterTestMethod should have been run");
42    assertTrue(s_afterClass, "afterTestClass should have been run");
43    assertFalse(s_afterTest, "afterTest should haven't been run");
44    s_afterTest = true;
45  }
46
47  @AfterSuite
48  public void afterSuite() {
49    assertTrue(s_afterMethod, "afterTestMethod should have been run");
50    assertTrue(s_afterClass, "afterTestClass should have been run");
51    assertTrue(s_afterTest, "afterTest should have been run");
52  }
53}
54