• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  package test.mannotation;
2  
3  import org.testng.Assert;
4  import org.testng.annotations.Configuration;
5  import org.testng.annotations.IConfigurationAnnotation;
6  import org.testng.annotations.ITestAnnotation;
7  import org.testng.annotations.Test;
8  import org.testng.internal.IConfiguration;
9  import org.testng.internal.annotations.IAnnotationFinder;
10  
11  import java.lang.reflect.Method;
12  
13  public class MAnnotation2SampleTest {
14    private IConfiguration m_configuration = new org.testng.internal.Configuration();
15    private IAnnotationFinder m_finder;
16  
17    @Configuration(beforeTestClass = true, enabled = true, groups="current")
init()18    public void init() {
19      m_finder = m_configuration.getAnnotationFinder();
20    }
21  
22    @Test
verifyTestGroupsInheritance()23    public void verifyTestGroupsInheritance()
24      throws SecurityException, NoSuchMethodException
25    {
26      {
27        Method method = MTest3.class.getMethod("groups1", new Class[0]);
28        ITestAnnotation test1 = (ITestAnnotation) m_finder.findAnnotation(method, ITestAnnotation.class);
29        Assert.assertEqualsNoOrder(new String[] { "method-test3", "child-class-test3", "base-class" },
30            test1.getGroups());
31      }
32  
33      {
34        Method method = MTest3.class.getMethod("groups2", new Class[0]);
35        ITestAnnotation test1 = (ITestAnnotation) m_finder.findAnnotation(method, ITestAnnotation.class);
36        Assert.assertEqualsNoOrder(new String[] { "child-class-test3", "base-class" },
37            test1.getGroups());
38      }
39    }
40  
41    @Test
verifyTestDependsOnGroupsInheritance()42    public void verifyTestDependsOnGroupsInheritance()
43      throws SecurityException, NoSuchMethodException
44    {
45      {
46        Method method = MTest3.class.getMethod("dependsOnGroups1", new Class[0]);
47        ITestAnnotation test1 = (ITestAnnotation) m_finder.findAnnotation(method, ITestAnnotation.class);
48        Assert.assertEqualsNoOrder(new String[] { "dog2", "dog1", "dog3" },
49            test1.getDependsOnGroups());
50      }
51  
52      {
53        Method method = MTest3.class.getMethod("dependsOnGroups2", new Class[0]);
54        ITestAnnotation test1 = (ITestAnnotation) m_finder.findAnnotation(method, ITestAnnotation.class);
55        Assert.assertEqualsNoOrder(new String[] { "dog1", "dog3" },
56            test1.getDependsOnGroups());
57      }
58  
59    }
60  
61    @Test
verifyTestDependsOnMethodsInheritance()62    public void verifyTestDependsOnMethodsInheritance()
63      throws SecurityException, NoSuchMethodException
64    {
65      {
66        Method method = MTest3.class.getMethod("dependsOnMethods1", new Class[0]);
67        ITestAnnotation test1 = (ITestAnnotation) m_finder.findAnnotation(method, ITestAnnotation.class);
68        Assert.assertEqualsNoOrder(new String[] { "dom2", "dom3", "dom1" },
69            test1.getDependsOnMethods());
70      }
71  
72      {
73        Method method = MTest3.class.getMethod("dependsOnMethods2", new Class[0]);
74        ITestAnnotation test1 = (ITestAnnotation) m_finder.findAnnotation(method, ITestAnnotation.class);
75        Assert.assertEqualsNoOrder(new String[] { "dom1", "dom3" },
76            test1.getDependsOnMethods());
77      }
78  
79    }
80  
81  
82    @Test
verifyConfigurationGroupsInheritance()83    public void verifyConfigurationGroupsInheritance()
84      throws SecurityException, NoSuchMethodException
85    {
86      Method method = MTest3.class.getMethod("beforeSuite", new Class[0]);
87      IConfigurationAnnotation test1 = (IConfigurationAnnotation) m_finder.findAnnotation(method, IConfigurationAnnotation.class);
88      Assert.assertEqualsNoOrder(new String[] { "method-test3", "child-class-test3", "base-class" },
89          test1.getGroups());
90    }
91  
92    @Test(groups="current")
verifyTestEnabledInheritance()93    public void verifyTestEnabledInheritance()
94      throws SecurityException, NoSuchMethodException
95    {
96      {
97        Method method = MTest3.class.getMethod("enabled1", new Class[0]);
98        ITestAnnotation test1 = (ITestAnnotation) m_finder.findAnnotation(method, ITestAnnotation.class);
99        Assert.assertFalse(test1.getEnabled());
100      }
101  
102      {
103        Method method = MTest3.class.getMethod("enabled2", new Class[0]);
104        ITestAnnotation test1 = (ITestAnnotation) m_finder.findAnnotation(method, ITestAnnotation.class);
105        Assert.assertTrue(test1.getEnabled());
106      }
107  
108    }
109  
110  //  @Test(groups = "current")
111  //  public void verifyCapture()
112  //    throws SecurityException, NoSuchMethodException
113  //  {
114  //    {
115  //      Method method = MChildCaptureTest.class.getMethod("shouldBelongToGroupChild", new Class[0]);
116  //      ITest test1 = (ITest) m_finder.findAnnotation(method, ITest.class);
117  //      Assert.assertEqualsNoOrder(new String[] { "child" },
118  //          test1.getGroups());
119  //    }
120  //  }
121  
122  
123  }
124