Blame examples/hierarchy/BoardGameTest.h

Packit 8c9aa0
#ifndef __BOARDGAMETEST_H__
Packit 8c9aa0
#define __BOARDGAMETEST_H__
Packit 8c9aa0
Packit 8c9aa0
#include <cppunit/extensions/HelperMacros.h>
Packit 8c9aa0
#include <cppunit/portability/Stream.h>
Packit 8c9aa0
Packit 8c9aa0
template<class GAMECLASS> 
Packit 8c9aa0
class BoardGameTest : public CPPUNIT_NS::TestFixture 
Packit 8c9aa0
{
Packit 8c9aa0
  CPPUNIT_TEST_SUITE( BoardGameTest );
Packit 8c9aa0
  CPPUNIT_TEST( testReset );
Packit 8c9aa0
  CPPUNIT_TEST( testResetShouldFail );
Packit 8c9aa0
  CPPUNIT_TEST_SUITE_END();
Packit 8c9aa0
protected:
Packit 8c9aa0
  GAMECLASS	*m_game;
Packit 8c9aa0
  
Packit 8c9aa0
public:
Packit 8c9aa0
  BoardGameTest()
Packit 8c9aa0
  {
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
  int countTestCases () const
Packit 8c9aa0
  { 
Packit 8c9aa0
    return 1; 
Packit 8c9aa0
  }
Packit 8c9aa0
  
Packit 8c9aa0
  void setUp() 
Packit 8c9aa0
  { 
Packit 8c9aa0
    this->m_game = new GAMECLASS; 
Packit 8c9aa0
  }
Packit 8c9aa0
  
Packit 8c9aa0
  void tearDown()
Packit 8c9aa0
  { 
Packit 8c9aa0
    delete this->m_game; 
Packit 8c9aa0
  }
Packit 8c9aa0
  
Packit 8c9aa0
  void testReset() 
Packit 8c9aa0
  { 
Packit 8c9aa0
    CPPUNIT_ASSERT( this->m_game->reset() );
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
  void testResetShouldFail() 
Packit 8c9aa0
  { 
Packit 8c9aa0
    CPPUNIT_NS::stdCOut() << "The following test fails, this is intended:" << "\n";
Packit 8c9aa0
    CPPUNIT_ASSERT( !this->m_game->reset() );
Packit 8c9aa0
  }
Packit 8c9aa0
};
Packit 8c9aa0
Packit 8c9aa0
#endif