### Running a Sequence of Tests Using ITestCollection

IColTest is a subclass of ITestCollection. It tests three subtests (ISubtest1, ISubtest2, and ISubtest3), which are all subclasses of ITest. The example runs the tests in random order. Also, IColTest halts on the failure of any subtest.

    class IColTest : public ITestCollection {
    public:
    	IColTest();
    	~IColTest();
    	void setupSubtests();
    };

    IColTest::IColTest() {}
    IColTest::~IColTest() {}
    void IColTest::setupSubtests
    {
    	ISubtest1* test1 = new ISubtest1(100);
    	ISubtest2* test2 = new ISubtest2();
    	ISubtest3* test3 = new ISubtest3("Hello");

    	adoptTest(test1);
    	adoptTest(test2);
    	adoptTest(test3);

    	randomlyReorder(56734);
    	setHaltOnFail(true);
    }

    runTestImplementationMacro(IColTest);