<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
  
<suite name="TestNG JDK 1.5" verbose="1" parallel="false" thread-count="2">
  
  <test name="Nopackage">
    <groups>
      <run>
        <include name="nopackage"/>
      </run>
    </groups>
    <classes>
      <class name="NoPackageTest" />
    </classes>
  </test>
   
  <parameter name="first-name" value="Cedric" />
  
  <test name="Regression1" >
    <groups>
      <define name="evenodd">
        <include name="even" />
        <include name="odd" />
      </define>      
      <run>
        <exclude name="excludeThisGroup" />
      </run>
    </groups>
    
    <classes>
      <class name="test.parameters.ParameterSample" />
      <class name="test.parameters.ParameterTest" />
      <class name="test.Test1" />
      <class name="test.Test2" />
      <class name="test.CtorCalledOnce" />
      <class name="test.expectedexceptions.ExpectedExceptionsTest" />
      <class name="test.access.PrivateAccessConfigurationMethods" />
      <class name="test.expectedexceptions.WrappedExpectedException" />
    </classes>
  </test>
  
  
  <test name="Regression2">
    <groups>
      <run>
        <exclude name="broken" />
      </run>
    </groups>
    <classes>
      <class name="test.Test1" />
      <class name="test.MethodTest" />
      <class name="test.sample.AfterClassCalledAtEnd"/>
      <class name="test.GraphTest"/>
      <class name="test.configuration.ConfigurationTest"/>
      <class name="test.configuration.GroupsTest"/>
      <class name="test.configuration.ExternalConfigurationClass"/>
      <class name="test.privatemethod.PrivateMethodTest$PrivateMethodInnerTest"/>
      <class name="test.configuration.ReflectMethodParametrizedConfigurationMethodTest" />
      <class name="test.configuration.MethodCallOrderTest"/>
      <class name="test.multiple.TestMultiple"/>
      <class name="test.ClassConfigurations"/>
      <class name="test.alwaysrun.AlwaysRunTest"/>
      <class name="test.conffailure.ConfigurationFailure" />
      <class name="test.superclass.MainTest" />
      <class name="test.superclass.Test3" />
      <class name="test.failures.FailuresTest" />
      <class name="test.mannotation.MAnnotationSampleTest" />
      <class name="test.mannotation.MAnnotation2SampleTest" />
      <class name="test.thread.ThreadPoolSizeTest" />
      <class name="test.thread.SequentialTest" />
      <class name="test.thread.ParallelTestTest" />
      <class name="test.thread.FactoryTest" />
      <class name="test.simple.IncludedExcludedTest" />
      <class name="test.reports.ReportTest" />
      <!-- <class name="test.output.OutputTest" /> -->
      <class name="test.configuration.BeforeTestOrderingTest" />
      <class name="test.configuration.SuiteTest" />
      <class name="test.configuration.VerifySuiteTest" />
      <class name="test.annotationtransformer.AnnotationTransformerTest" />
      <class name="test.configuration.MultipleBeforeGroupTest" />
      <class name="test.configuration.BaseGroupsTest" />
    </classes>
  </test>
	
	<test name="Factory tests">
		<classes>
			<class name="test.factory.classconf.XClassOrderWithFactoryTest" />
		</classes>
	</test>
  
  <test name="Basic" >
    <classes>
      <class name="test.sample.Basic2" />
      <class name="test.sample.Basic1" />
      <class name="test.Misc" />
    </classes>
  </test>
  
  <test name="Exclusion">
    <groups>
      <run>
        <exclude name="excludeThisGroup" />
      </run>
    </groups>
    <classes>
      <class name="test.Test2" />
    </classes>
  </test>
  
  <test name="Dependents">
    <parameter name="foo" value="Cedric" />
    <classes>
      <class name="test.dependent.MissingGroupTest" />
      <class name="test.dependent.OrderMethodTest" />
      <class name="test.dependent.DependentTest" />
      <class name="test.dependent.SampleDependentMethods" />
      <class name="test.dependent.SampleDependentMethods2" />
      <class name="test.dependent.SampleDependentMethods3" />
      <class name="test.dependent.SampleDependentConfigurationMethods" />
      <class name="test.dependent.ClassDependsOnGroups"/>
      <class name="test.dependent.DependentAlwaysRunTest" />
      <class name="test.dependent.MultiGroupTest" />
      <class name="test.dependent.ImplicitGroupInclusionTest" />
      <class name="test.dependent.ClassWide1Test" />
      <class name="test.dependent.ClassWide2Test" />
      <class name="test.dependent.DepBugSampleTest" />
      <class name="test.dependent.DepBugVerifyTest" />
			<class name="test.dependent.DependsOnProtectedMethodTest" />
    </classes>      
  </test>
  
  <test name="Inheritance">
    <classes>
      <class name="test.SampleInheritance" />
      <class name="test.inheritance.ClassScopeTest" />
    </classes>
  </test>
  
  <!-- Test scopes -->  
  
  <parameter name="parameter" value="out" />

  <test name="Test outer scope">
    <groups>
      <run>
        <include name="outer-group" />
      </run>
    </groups>
    <classes>
      <class name="test.sample.Scope" />
    </classes>
  </test>
  
  <test name="Test inner scope">
    <parameter name="parameter" value="in" />
    <groups>
      <run>
        <include name="inner-group" />
      </run>
    </groups>
    <classes>
      <class name="test.sample.Scope" />
    </classes>
  </test>
    
  <test name="AfterClassCalledAtEnd">
    <classes>
      <class name="test.sample.AfterClassCalledAtEnd"/>
    </classes>
  </test>

  <test name="Triangle">
    <classes>
      <class name="test.triangle.Child1" />
      <class name="test.triangle.Child2" />
    </classes>
  </test>  

  <!-- note that CheckTriangePost must be run sequentially after Triangle-->
  <test name="CheckTrianglePost">
    <parameter name="expected-calls" value="2" />
    <classes>
      <class name="test.triangle.CheckCount"/>
    </classes>
  </test>
  
  <!-- Test that we can declare groups and dependents on classes -->
  
  <test name="Test class groups 1" >
    <classes>
      <class name="test.classgroup.Second" />
      <class name="test.classgroup.First" />
    </classes>
  </test>

    <test name="Test class groups 2" >
    <classes>
      <class name="test.classgroup.First" />
      <class name="test.classgroup.Second" />
    </classes>
  </test>
  
  <parameter name="factory-param" value="FactoryParam" />
  <test name="Factory">
    <classes>
      <class name="test.factory.FactoryTest" />
      <class name="test.factory.VerifyFactoryTest" />
      <class name="test.factory.FactoryInSeparateClass" />
      <class name="test.factory.Factory2Test" />
	  
      <class name="test.factory.FactoryWithInstanceInfoTest" />
      <class name="test.factory.VerifyFactoryWithInstanceInfoTest" />
      <class name="test.factory.TestClassAnnotationTest" />
      
      <class name="test.factory.FactoryWithDataProviderTest" />
    </classes>
  </test>

  <test name="TimeOut">
    <classes>
      <class name="test.timeout.TimeOutTest" />
    </classes>
  </test>
  
  <test name="InvocationCount">
    <parameter name="count" value="10" />
    <classes>
      <class name="test.InvocationAndSuccessPercentageTest" />
    </classes>
  </test>

  <!-- Tests for included and excluded methods -->
    <test name="Method1">
    <classes>
        <class name="test.methods.SampleMethod1">
          <methods>
            <include name="shouldRun1" />
            <include name="shouldRun2" />
          </methods>
        </class>
          <class name="test.methods.VerifyMethod1" />
    </classes>
  </test>
  
  <test name="Method2">
    <classes>
        <class name="test.methods.SampleMethod1">
          <methods>
            <exclude name="shouldNotRun1" />
            <exclude name="shouldNotRun2" />
          </methods>
        </class>
        <class name="test.methods.VerifyMethod1" />
    </classes>
  </test>
  
  <test name="Method3">
    <classes>
        <class name="test.methods.SampleMethod1">
          <methods>
            <exclude name=".*Not.*" />
          </methods>
        </class>
        <class name="test.methods.VerifyMethod1" />
    </classes>
  </test>

  <test name="Object factory">
    <classes>
      <class name="test.objectfactory.CustomFactoryTest" />
    </classes>
  </test>
  
  <!-- Test parameters for constructors -->  
  <parameter name="string" value="Cedric" />
  <parameter name="int" value="42" />
  <parameter name="boolean" value="true" />
  <parameter name="byte" value="43" />
  <parameter name="char" value="c" />
  <parameter name="double" value="44.0" />
  <parameter name="float" value="45.0" />
  <parameter name="long" value="46" />
  <parameter name="short" value="47" />

  <test name="Parameters for constructors">
    <classes>
      <class name="test.ParameterConstructorTest" />
    </classes>
  </test>
  
  <test name="Excluded methods" >
    <groups>
      <run>
        <include name="group1" />
        <include name="group2" />
      </run>        
    </groups>
    <classes>
      <class name="test.Exclude">
		<methods>
          <exclude name="excluded1" />
          <exclude name="excluded2" />
		</methods>
      </class>
    </classes>
  </test>  
  
  <test name="Parameters in init 1">
    <parameter name="param" value="value1"/>
    <classes>
      <class name="test.configuration.ConfigurationWithParameters"/>
    </classes>
  </test>

  <test name="Parameters in init 2">
  <parameter name="param" value="value2"/>
    <classes>
      <class name="test.configuration.ConfigurationWithParameters"/>
    </classes>
  </test>
  
  <test name="Individual method">
    <classes>
      <class name="test.IndividualMethodsTest">
        <methods>
          <include name="testMethod"/>
        </methods>
      </class>
    </classes>
  </test>

  <test name="Method inheritance">
    <classes>
      <class name="test.inheritance.DChild_2" />
      <class name="test.inheritance.VerifyTest" />	  
    </classes>
  </test>

  <test name="Method selectors">
    <classes>
      <class name="test.methodselectors.MethodSelectorTest" />
      <class name="test.methodselectors.BeanShellTest" />
    </classes>
  </test>

  <test name="Test order invocation">
    <classes>
      <class name="test.interleavedorder.TestChild1" />
      <class name="test.interleavedorder.TestChild2" />
      <class name="test.interleavedorder.InterleavedInvocationTest" />
    </classes>
  </test>

  <test name="DataProvider">
    <classes>
      <class name="test.dataprovider.Sample1Test" />
      <class name="test.dataprovider.IterableTest" />
      <class name="test.dataprovider.ConfigurationAndDataProvidersTest" />
      <class name="test.dataprovider.BooleanTest" />
      <class name="test.dataprovider.MethodTest"/>
      <class name="test.dataprovider.StaticDataProviderSampleTest" />
      <class name="test.dataprovider.UnnamedDataProviderTest" />
      <class name="test.dataprovider.TestContextTest" />
			<class name="test.dataprovider.FailingDataProviderTest" />
    </classes>
  </test>
	
  <test name="UniqueSuite">
    <classes>
      <class name="test.uniquesuite.TestBefore1" />
      <class name="test.uniquesuite.TestBefore2" />
      <class name="test.uniquesuite.TestAfter" />
    </classes>
  </test>

  <test name="InheritGroups">
    <groups>
      <run>
        <include name="group1" />
      </run>
    </groups>
    <classes>
      <class name="test.configuration.ConfigurationInheritGroupsSampleTest" />
    </classes>
  </test>

<!--
  <test name="Distributed">
    <classes>
      <class name="test.distributed.DistributedTest" />
    </classes>
  </test>  
-->

  <test name="Nested" >
    <groups>
      <run>
        <include name="unittest" />
      </run>        
    </groups>

		<packages>
			<package name="test.nested.*"/>
		</packages>
  </test>

  <test name="Hookable" >
    <classes>
      <class name="test.hook.HookSuccessTest" />
      <class name="test.hook.HookFailureTest" />
    </classes>
  </test>
  
  <test name="BeforeGroups-AfterGroups-1" >
    <classes>
	    <class name="test.configuration.ConfigurationGroups1SampleTest" />
	    <class name="test.configuration.ConfigurationGroups2SampleTest" />
	    <class name="test.configuration.ConfigurationGroups3SampleTest" />
	    <class name="test.configuration.ConfigurationGroups4SampleTest" />
	    <class name="test.configuration.ConfigurationGroups5SampleTest" />
	    <class name="test.configuration.ConfigurationGroups6SampleTest" />
	    <class name="test.configuration.ConfigurationGroups7SampleTest" />
    </classes>
  </test>
  
  <test name="BeforeGroups-AfterGroups-2" >
    <groups>
      <run>
        <include name="A" />
        <include name="B" />
      </run>
    </groups>
    <classes>
	    <class name="test.configuration.ConfigurationGroups8SampleTest" />
    </classes>
  </test>
  
  <test name="JUnit">
    <classes>
      <class name="test.JUnitTest1" />
      <class name="test.CommandLineTest"/>
    </classes>
  </test>
    
    <test name="JUnitConverter">
    <parameter name="source-directory" value="test/src/test/converter" />
    <classes>
    <class name="test.converter.JUnitConverterTest" />
    </classes>
    </test>

    <test name="AnnotationConverter">
    <parameter name="source-directory" value="test/src/test/sample" />
    <classes>
    <class name="test.converter.AnnotationConverterTest" />
    </classes>
    </test>
  
  <!-- TestNG ant task related tests -->
  <test name="Ant-ClassFileResolution" >
    <classes>
        <class name="test.ant.TestCommandLineArgs" />
    </classes>
  </test>
 
  <!-- Group ordering 1 --> 
  <test name="Class Run">
    <classes>
      <class name="test.regression.groupsordering.A" />
      <class name="test.regression.groupsordering.B" />
    </classes>
  </test>
	
  <!-- Group ordering 2 --> 
  <test name="Groups Run">
    <groups>
      <run>
        <include name="a" />
      </run>
    </groups>
    <classes>
      <class name="test.regression.groupsordering.A" />
      <class name="test.regression.groupsordering.B" />
    </classes>
  </test>
  
  <test name="External group invocation">
		<groups>
			<run>
				<include name="a" />
			</run>
		</groups>
		<classes>
			<class name="test.groupinvocation.GroupConfiguration" />
			<class name="test.groupinvocation.DummyTest" />
		</classes>
  </test>
	
	<test name="SkipExceptions">
		<classes>
			<class name="test.skipex.SkippedExceptionTest" />
		</classes>
	</test>
</suite>
