#include // using std::cout; // using std::endl; /* sdjlksj asljd l*/ using namespace std; /** * Vaihtaa kaksi lukua keskenään * @param a toinen luku * @param b toinen luku * @code *
 *   int a = 4, b = 5;
 *   vaihda(&a,&b);
 *   a === 5; b === 4;
 * 
* @endcode */ int vaihda(int *a, int *b) { int t = *a; *a = *b; *b = t; } int vaihdaTestOrigMain(void) { int a = 4; int b = 5; vaihda(&a,&b); cout << "a " << a << endl; cout << "b " << b << endl; return 0; } #include #include namespace comtestCppNameSpace { //#define assertEquals(s,e,g) { if ( comtestCppNameSpace::assertEqualsImpl((s),(e),(g)) ) return; } //#define assertEqualsDelta(s,e,g,delta) { if ( comtestCppNameSpace::assertEqualsImpl((s),(e),(g),(delta)) ) return; } #define assertEquals comtestCppNameSpace::assertEqualsImpl template class assertion_traits { public: static bool equal( const T1& x, const T1& y ) { return x == y; } }; template<> class assertion_traits { public: static bool equal( const char *x,const char *y) { if ( x == 0 && y == 0 ) return true; if ( x == 0 || y == 0 ) return false; return std::strcmp(x,y) == 0; } }; template<> class assertion_traits { public: static bool equal( const char *x,char *y) { if ( x == 0 && y == 0 ) return true; if ( x == 0 || y == 0 ) return false; return std::strcmp(x,y) == 0; } }; template int assertEqualsImpl(const char *msg,const T1 &expected, const T1 &actual) { if ( assertion_traits::equal(expected,actual) ) return 0; std::cout << msg << ": expected [" << expected << "] actual [" << actual << "]" << std::endl; throw int(1); } template int assertEqualsImpl(const char *msg,const char *expected, const T1 &actual) { if ( assertion_traits::equal(expected,actual) ) return 0; if ( expected == 0 ) std::cout << msg << ": expected [null] actual [" << actual << "]" << std::endl; else if ( &actual == 0 ) std::cout << msg << ": expected [" << expected << "] actual [null]" << std::endl; else std::cout << msg << ": expected [" << expected << "] actual [" << actual << "]" << std::endl; throw int(1); } int assertEqualsImpl(const char *msg,int expected, int actual) { if ( expected == actual ) return 0; std::cout << msg << ": expected [" << expected << "] actual [" << actual << "]" << std::endl; throw int(1); } int assertEqualsImpl(const char *msg,long expected, long actual) { if ( expected == actual ) return 0; std::cout << msg << ": expected [" << expected << "] actual [" << actual << "]" << std::endl; throw int(1); } int assertEqualsImpl(const char *msg,double expected, double actual, double delta) { if ( -delta <= (actual-expected) && (actual-expected) <= delta ) return 0; std::cout << msg << ": expected [" << expected << "] actual [" << actual << "]" << std::endl; throw int(1); } } /** * Test class made by ComTest * @version 2011.04.13 10:14:54 // Generated by ComTest * */ class vaihdaTest { // Generated by ComTest BEGIN /** testVaihda14 */ public: void testVaihda14() { // vaihda: 14 int a = 4, b = 5; vaihda(&a,&b); assertEquals("From: vaihda line: 17", 5, a); assertEquals("From: vaihda line: 17", 4, b); } // Generated by ComTest END int runner(void) { int errors = 0; try { testVaihda14(); } catch (...) { errors++; } if ( errors == 0 ) std::cout << "ok" << std::endl; return errors; } }; int main(void) { vaihdaTest t; t.runner(); return 0; }