jmathlib.tools.junit.framework
Class TestSuite

java.lang.Object
  extended by jmathlib.tools.junit.framework.TestSuite
All Implemented Interfaces:
Test
Direct Known Subclasses:
ActiveTestSuite

public class TestSuite
extends java.lang.Object
implements Test

A TestSuite is a Composite of Tests. It runs a collection of test cases. Here is an example using the dynamic test definition.

 TestSuite suite= new TestSuite();
 suite.addTest(new MathTest("testAdd"));
 suite.addTest(new MathTest("testDivideByZero"));
 
Alternatively, a TestSuite can extract the tests to be run automatically. To do so you pass the class of your TestCase class to the TestSuite constructor.
 TestSuite suite= new TestSuite(MathTest.class);
 
This constructor creates a suite with all the methods starting with "test" that take no arguments.

See Also:
Test

Field Summary
private  java.lang.String fName
           
private  java.util.Vector fTests
           
 
Constructor Summary
TestSuite()
          Constructs an empty TestSuite.
TestSuite(java.lang.Class theClass)
          Constructs a TestSuite from the given class.
TestSuite(java.lang.String name)
          Constructs an empty TestSuite.
 
Method Summary
 void addTest(Test test)
          Adds a test to the suite.
private  void addTestMethod(java.lang.reflect.Method m, java.util.Vector names, java.lang.reflect.Constructor constructor)
           
 void addTestSuite(java.lang.Class testClass)
          Adds the tests from the given class to the suite
 int countTestCases()
          Counts the number of test cases that will be run by this test.
private  java.lang.String exceptionToString(java.lang.Throwable t)
          Converts the stack trace into a string
private  java.lang.reflect.Constructor getConstructor(java.lang.Class theClass)
          Gets a constructor which takes a single String as its argument.
 java.lang.String getName()
          Returns the name of the suite.
private  boolean isPublicTestMethod(java.lang.reflect.Method m)
           
private  boolean isTestMethod(java.lang.reflect.Method m)
           
 void run(TestResult result)
          Runs the tests and collects their result in a TestResult.
 void runTest(Test test, TestResult result)
           
 void setName(java.lang.String name)
          Sets the name of the suite.
 Test testAt(int index)
          Returns the test at the given index
 int testCount()
          Returns the number of tests in this suite
 java.util.Enumeration tests()
          Returns the tests as an enumeration
 java.lang.String toString()
           
private  Test warning(java.lang.String message)
          Returns a test which will fail and log a warning message.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

fTests

private java.util.Vector fTests

fName

private java.lang.String fName
Constructor Detail

TestSuite

public TestSuite()
Constructs an empty TestSuite.


TestSuite

public TestSuite(java.lang.Class theClass)
Constructs a TestSuite from the given class. Adds all the methods starting with "test" as test cases to the suite. Parts of this method was written at 2337 meters in the Hueffihuette, Kanton Uri


TestSuite

public TestSuite(java.lang.String name)
Constructs an empty TestSuite.

Method Detail

addTest

public void addTest(Test test)
Adds a test to the suite.


addTestSuite

public void addTestSuite(java.lang.Class testClass)
Adds the tests from the given class to the suite


addTestMethod

private void addTestMethod(java.lang.reflect.Method m,
                           java.util.Vector names,
                           java.lang.reflect.Constructor constructor)

exceptionToString

private java.lang.String exceptionToString(java.lang.Throwable t)
Converts the stack trace into a string


countTestCases

public int countTestCases()
Counts the number of test cases that will be run by this test.

Specified by:
countTestCases in interface Test

getConstructor

private java.lang.reflect.Constructor getConstructor(java.lang.Class theClass)
                                              throws java.lang.NoSuchMethodException
Gets a constructor which takes a single String as its argument.

Throws:
java.lang.NoSuchMethodException

isPublicTestMethod

private boolean isPublicTestMethod(java.lang.reflect.Method m)

isTestMethod

private boolean isTestMethod(java.lang.reflect.Method m)

run

public void run(TestResult result)
Runs the tests and collects their result in a TestResult.

Specified by:
run in interface Test

runTest

public void runTest(Test test,
                    TestResult result)

testAt

public Test testAt(int index)
Returns the test at the given index


testCount

public int testCount()
Returns the number of tests in this suite


tests

public java.util.Enumeration tests()
Returns the tests as an enumeration


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

setName

public void setName(java.lang.String name)
Sets the name of the suite.

Parameters:
name - The name to set

getName

public java.lang.String getName()
Returns the name of the suite. Not all test suites have a name and this method can return null.


warning

private Test warning(java.lang.String message)
Returns a test which will fail and log a warning message.


FOOTER

BOTTOM