TDD (Test Driven Development) basic steps in cycle 2nd cycle described as Red-Green-Refactor GUI objects and JUnit as example of test failure as success of process TearDown attribute TearDown( ) tearDown( ) BookTest test fixture destroying objects shared by test methods PyUnit test fixtures TestFixture class templates C++, Standard Template Library ’test twice, code once “ test assert methods assertEqual( ) CppUnit JUnit 2nd NUnit 2nd PyUnit assert_( ) failUnlessRaises( ) XMLUnit assertNodeTestPasses( ) assertXMLEqual( ) assertXMLIdentical( ) assertXMLValid( ) assertXpathExists( ) listing of test assertion macros, CppUnit CPPUNIT_ASSERT( ) CPPUNIT_ASSERT_EQUAL( ) Test attribute test classes JUnit test code, organization of test coupling TestFixtureSetUp and TestFixtureTearDown attributes test fixtures AddBookViewTest (example) CppUnit aggregating into a TestSuite implementing unit tests as ensuring test isolation implementing in PyUnit LibraryPerfTest (example) LibraryTest class (example) LibraryXMLDocTest, refactoring as SetUp and TearDown attributes, NUnit test isolation provided by setUp( ) and tearDown( ) test methods with excessive asserts, changing to Test interface CppUnit 2nd JUnit 2nd TestResult as parameter of run( ) test results [See results of tests] test success counter test-first development test_failure( ) TestAssert namespace (CppUnit) TestCaller class (CppUnit) 2nd TestCase class 2nd CppUnit 2nd 3rd implementing Test interface JUnit 2nd PyUnit test assert methods relationship to TestFixture runTest( ) XMLTestCase testConstructBook( ) (BookTest example) TestDecorator class TestFactory class TestFactoryRegistry class 2nd TestFailure class 2nd TestFixture attribute TestFixture class 2nd 3rd LibraryTest implemented as relationship to TestCase TestFixtureFactory class TestFixtureSetUp attribute TestFixtureSetUp( ) TestFixtureTearDown attribute TestFixtureTearDown( ) TestListener interface 2nd 3rd TestResult class 2nd 3rd CppUnit JUnit TestResultCollector class 2nd TestRunner class 2nd 3rd 4th C++ version CppUnit 2nd 3rd text version GUI versions JUnit tools modified to run LibraryTest running TestSuite instances TestSetUp class TestSucessListener class TestSuite class 2nd 3rd adding TestSuite objects to a named registry containing other TestSuites CppUnit 2nd 3rd implementing Test interface JUnit 2nd PyUnit 2nd 3rd registering test suites with TestFactoryRegistry running instances with TestRunner TestSuiteBuilder class TestSuiteFactory class text content, XML elements TextOutputter class TextTestProgressListener class TextTestResult class TextTestRunner class running BookTest (example) class running LibraryTest running LibraryTests test suite thin view classes [See view objects, GUI] to assertXMLIdentical( ) toString( ) XMLElement class Transformation API for XML (TrAX) Two, Michael