[[TableOfContents]] 

= Objectives =

The CppUnit code base has grown into a monster and there are still many features that I would like to see added.

CppUnit2 is an attempt to propose a much cleaner implementation of the current features, and to follow good C++ practices.

The main objectives are:
 * use of smart-pointer for memory management
 * better support for custom test cases (repeat...) and parametrized test methods
 * flexible enough to allow sharing of a fixture across test cases (bad practice as it breaks test isolation, but may save a lot of time at execution if the setup is heavy).
 * better assertion support (equality testing, object conversion to string,...)
 * association of user data with test cases
 * thread support (passing assertion exceptions across threads, assertion...)
 * python binding

= Getting the sources =

CppUnit2 sources are finally available on CVS. You can obtain them as follows:
{{{
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/cppunit login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/cppunit co cppunit2
}}}

= Features =

 * ["/Assertions"]
 * /DescriptiveData
 * /ConvertToString
 * /EqualityTesting
 * /ParametrizedTestCase
 * /TestPlugIn
 * /SharedFixtureTestCase
 * /ThreadedTestCase
 * /InputBasedTestCase

= Other documentations =

 * /RoadMap
 * /CompilerRequirements
 * /BuildSystem
 * /MemoryManagement
 * /ThreadSafety
 * /UsingWithCppUnit1
 * /ImplementationOverview
 * IntegrationWithTestDrivingEnvironments

= Libraries provided with CppUnit2 =

  CppUnit2 depends on the following libraries which are developped for this project:

 * OpenTest: test driver and ouput generator
 * CppToolLibrary: tool library
