|
[B]asic module for [unit] program testing:
|
Prueba la clase rational<INT>.
More...
Public Member Functions | |
| virtual void | setUp () |
| Establece el ambiente de prueba. | |
| void | super_numerotes (bool sl=false) |
| Define si se corren o no las pruebas con super-numerotototes. | |
| void | super_lerdo (bool sl=false) |
| Define si se corren las pruebas que duran mucho. | |
| bool | run () |
| Método principal de la prueba. | |
| void | rat_tst () |
Antiguo programa de prueba para la clase rational<INT>. | |
| void | run_rest () |
| Método complementario de prueba. | |
| void | test_quiebra_Narvaja () |
Datos de prueba que sirven para quebrar la implementación BigNum de Narvaja. | |
| void | test_constructor () |
Datos de prueba para los constructores de la clase rational<INT>. | |
| void | test_destructor () |
Datos de prueba para el destructor de la clase rational<INT>. | |
| void | test_set () |
Datos de prueba para rational<INT>::set(). | |
| void | test_op_equal () |
Datos de prueba para rational<INT>::operator=(). | |
| void | test_num_den () |
Datos de prueba para rational<INT>::num() y rational<INT>::den(). | |
| void | test_swap () |
Datos de prueba para rational<INT>::swap(). | |
| void | test_op_add_equal () |
Datos de prueba para rational<INT>::operator +=() y rational<INT>::operator -=() . | |
| void | test_op_add () |
Datos de prueba para rational<INT>::operator +() y rational<INT>::operator -() . | |
| void | test_op_mult_equal () |
Datos de prueba para rational<INT>::operator *=() y rational<INT>::operator /=(). | |
| void | test_op_mult () |
Datos de prueba para rational<INT>::operator *() y rational<INT>::operator /(). | |
| void | test_op_minus () |
Datos de prueba para rational<INT>::operator -(). | |
| void | test_fromString () |
Datos de prueba para rational<INT>::test_fromString(). | |
| void | test_op_comp () |
Datos de prueba para todos los operadores de comparación de rational<INT>. | |
| void | test_op_in () |
Datos de prueba para operator>>(). | |
| void | test_op_out () |
Datos de prueba para operator<<(). | |
| void | test_simplify () |
Datos de prueba para rational<INT>::test_simplify(). | |
| void | test_check_ok () |
Datos de prueba para check_ok( const rational<INT>& ). | |
| void | test_mcd () |
Datos de prueba para la función mcd(). | |
| void | test_op_cpp () |
Datos de prueba para los incrementadores c++ y --c. | |
| void | runBare () |
Excecutes the test run setUp(); run(); tearDown();. | |
| bool | Run () |
Synonym for run(). | |
| bool | runTest () |
Synonym for run(). | |
| virtual void | tearDown () |
| Destroys the test environment. | |
| int | countTestCases () const |
| 1 == Number of test cases. | |
| int | runCount () const |
| Number of test runs. | |
| virtual int | failureCount () const |
| Number of test runs that failed. | |
| int | errorCount () const |
Always returns 0 (cero): "Number of errors". | |
| virtual int | successCount () const |
| Number of successful test runs. | |
| bool | wasSuccessful () const |
Returns "true" when all test runs where successful. | |
| virtual void | reset () |
| Discards all test runs. | |
| std::string | getName () const |
| Gets the test case name. | |
| void | setName (const char *name=0) |
Sets the test case name to "name". | |
| virtual const std::string | toString () const |
Huuuge string that holds a copy of non successfull test, separated by "\n". | |
| virtual const std::string | summary () const |
| Returns a string with the name, number of successes and failures. | |
| virtual const std::string | toXML () const |
| XML string that holds a copy of all unsuccessful tests. | |
| const std::string | report () const |
Returns string summary() followed by toString(). | |
| const std::string | failureString () const |
Synonym for toString(). | |
Static Public Member Functions | |
| template<class T > | |
| static std::string | toString (const T &val) |
Returns a std::string constructed form value val. | |
Protected Member Functions | |
| void | recordSuccess () |
| Records the test run as a success. | |
| void | recordFailure (const char *label, const char *fname, int lineno, bool must_copy=false) |
| Records that the test run did not succeed. | |
| void | recordFailure (const std::string &label, const char *fname, int lineno) |
| Records that the test did not succeed. | |
| void | testThis (bool cond, const char *label, const char *fname, long lineno, bool must_copy=false) |
| Executes the test and records its result. | |
| void | testThis (bool cond, const std::string &label, const char *fname, long lineno) |
Synonym for testThis(). | |
| int | nPass () const |
Synonym for successCount() [OBSOLETE]. | |
| int | nError () const |
Synonym for failureCount() [OBSOLETE]. | |
Protected Attributes | |
| rational< INT > | m_half |
| rational< INT > | m_quarter |
| rational< INT > | m_one |
| rational< INT > | m_half_neg |
| rational< INT > | m_quarter_neg |
| rational< INT > | m_one_neg |
| rational< INT > | m_sep |
| rational< INT > | m_sep_neg |
| bool | m_super_lerdo |
| Indica si hay que probar con numerotototes. | |
| bool | m_super_numerotes |
| Indica si se corren las pruebas que duran mucho. | |
| int | m_pass |
| Number of successful tests. | |
| int | m_failure |
| Number of test that produced failed. | |
| const char * | m_name |
| Test case name. | |
| bool | m_test_suite_destroy |
Holds "true" if the test case is stored in dynamic memory. | |
| std::list< TestCaseFailure > | m_failureList |
| Container where test cases that produced failures are stored. | |
Friends | |
| class | TestSuite |
| Colección de pruebas. | |
| template<class TestCase > | |
| void | do_toXML (const TestCase *tc, std::basic_ostringstream< char > &ost) |
Adds to ost the string of al unsuccessful test from *tc in XML format. | |
| template<class TestCase > | |
| void | do_toString (const TestCase *tc, std::basic_ostringstream< char > &ost) |
Adds to ost the string of al unsuccessful test from *tc. | |
Prueba la clase rational<INT>.
Definition at line 33 of file test_rational.cpp.
| void test_rational< INT >::setUp | ( | ) | [virtual] |
Establece el ambiente de prueba.
Reimplemented from TestCase.
Definition at line 108 of file test_rational.cpp.
| void test_rational< INT >::super_numerotes | ( | bool | sl = false | ) | [inline] |
Define si se corren o no las pruebas con super-numerotototes.
Definition at line 43 of file test_rational.cpp.
| void test_rational< INT >::super_lerdo | ( | bool | sl = false | ) | [inline] |
Define si se corren las pruebas que duran mucho.
Definition at line 47 of file test_rational.cpp.
| bool test_rational< INT >::run | ( | ) | [virtual] |
Método principal de la prueba.
setUp() Implements TestCase.
Definition at line 81 of file test_rational.cpp.
| void test_rational< INT >::rat_tst | ( | ) |
Antiguo programa de prueba para la clase rational<INT>.
Definition at line 458 of file test_rational.cpp.
| void test_rational< INT >::run_rest | ( | ) |
Método complementario de prueba.
run(). Definition at line 575 of file test_rational.cpp.
| void test_rational< INT >::test_quiebra_Narvaja | ( | ) |
Datos de prueba que sirven para quebrar la implementación BigNum de Narvaja.
Definition at line 131 of file test_rational.cpp.
| void test_rational< INT >::test_constructor | ( | ) |
Datos de prueba para los constructores de la clase rational<INT>.
Definition at line 166 of file test_rational.cpp.
| void test_rational< INT >::test_destructor | ( | ) |
Datos de prueba para el destructor de la clase rational<INT>.
Definition at line 181 of file test_rational.cpp.
| void test_rational< INT >::test_set | ( | ) |
Datos de prueba para rational<INT>::set().
Definition at line 187 of file test_rational.cpp.
| void test_rational< INT >::test_op_equal | ( | ) |
Datos de prueba para rational<INT>::operator=().
Definition at line 213 of file test_rational.cpp.
| void test_rational< INT >::test_num_den | ( | ) |
Datos de prueba para rational<INT>::num() y rational<INT>::den().
Definition at line 200 of file test_rational.cpp.
| void test_rational< INT >::test_swap | ( | ) |
Datos de prueba para rational<INT>::swap().
Definition at line 226 of file test_rational.cpp.
| void test_rational< INT >::test_op_add_equal | ( | ) |
Datos de prueba para rational<INT>::operator +=() y rational<INT>::operator -=() .
Definition at line 238 of file test_rational.cpp.
| void test_rational< INT >::test_op_add | ( | ) |
Datos de prueba para rational<INT>::operator +() y rational<INT>::operator -() .
Definition at line 253 of file test_rational.cpp.
| void test_rational< INT >::test_op_mult_equal | ( | ) |
Datos de prueba para rational<INT>::operator *=() y rational<INT>::operator /=().
Definition at line 268 of file test_rational.cpp.
| void test_rational< INT >::test_op_mult | ( | ) |
Datos de prueba para rational<INT>::operator *() y rational<INT>::operator /().
Definition at line 283 of file test_rational.cpp.
| void test_rational< INT >::test_op_minus | ( | ) |
Datos de prueba para rational<INT>::operator -().
Definition at line 298 of file test_rational.cpp.
| void test_rational< INT >::test_fromString | ( | ) |
Datos de prueba para rational<INT>::test_fromString().
Definition at line 311 of file test_rational.cpp.
| void test_rational< INT >::test_op_comp | ( | ) |
Datos de prueba para todos los operadores de comparación de rational<INT>.
Definition at line 355 of file test_rational.cpp.
| void test_rational< INT >::test_op_in | ( | ) |
Datos de prueba para operator>>().
Definition at line 393 of file test_rational.cpp.
| void test_rational< INT >::test_op_out | ( | ) |
Datos de prueba para operator<<().
Definition at line 371 of file test_rational.cpp.
| void test_rational< INT >::test_simplify | ( | ) |
Datos de prueba para rational<INT>::test_simplify().
Definition at line 325 of file test_rational.cpp.
| void test_rational< INT >::test_check_ok | ( | ) |
Datos de prueba para check_ok( const rational<INT>& ).
Definition at line 340 of file test_rational.cpp.
| void test_rational< INT >::test_mcd | ( | ) |
Datos de prueba para la función mcd().
Definition at line 409 of file test_rational.cpp.
| void test_rational< INT >::test_op_cpp | ( | ) |
Datos de prueba para los incrementadores c++ y --c.
Definition at line 421 of file test_rational.cpp.
| void TestCase::runBare | ( | ) | [inline, inherited] |
Excecutes the test run setUp(); run(); tearDown();.
run(), this method will setup the environment for the test run invoking setUp() and tearDown() before and after the test. {{ // test::run()
class MyTest : public TestCase {
int m_val;
public:
MyTest() : m_val(0) {} // init: m_val == 0;
void setUp() { m_val = 1; }
void tearDown() { m_val = 2; }
bool run() {
assertTrue( m_val == 1 );
return wasSuccessful();
}
}; // MyTest
TestSuite<TestCase> SSS;
SSS.addTest( new MyTest ); SSS.addTest( new MyTest );
assertTrue( 2 == SSS.countTestCases() );
assertTrue( "" == SSS.failureString() );
SSS.runBare(); // Ok ==> setUp() sets [m_val == 1]
assertTrue( "" == SSS.toXML() );
SSS.run(); // Failure: [m_val == 2] ==> value set by tearDown()
std::string sssXML = SSS.toXML();
assertTrue( "" != sssXML ); // SSS contains failures.
assertTrue( sssXML.find("m_val") != string::npos );
assertTrue( SSS.runCount() == 2+2 );
}}
Reimplemented in TestSuite< TestCase >.
| bool TestCase::Run | ( | ) | [inline, inherited] |
| bool TestCase::runTest | ( | ) | [inline, inherited] |
| void TestCase::tearDown | ( | ) | [inline, virtual, inherited] |
| int TestCase::countTestCases | ( | ) | const [inline, inherited] |
1 == Number of test cases.
The value returned always is one 1 because class TestCase represents a single test case. For the container TestSuite<> the value returned can be bigger than 1.
TestCase."assert()" macro, as assertTrue(), fail_Msg(), assertEquals_Delta(), or others like BUnit_SUCCESS() or BUnit_TEST().TestSuite<>. Reimplemented in TestSuite< TestCase >.
| int TestCase::runCount | ( | ) | const [inline, inherited] |
Number of test runs.
successCount()+failureCount()+errorCount(). | int TestCase::failureCount | ( | ) | const [inline, virtual, inherited] |
| int TestCase::errorCount | ( | ) | const [inline, inherited] |
Always returns 0 (cero): "Number of errors".
| int TestCase::successCount | ( | ) | const [inline, virtual, inherited] |
| bool TestCase::wasSuccessful | ( | ) | const [inline, inherited] |
Returns "true" when all test runs where successful.
(successCount() == runCount()) | void TestCase::reset | ( | ) | [inline, virtual, inherited] |
Discards all test runs.
{{ // test::reset()
class MyTest : public TestCase {
public:
bool run() {
assertTrue( 1 == 2 ); // Failure !!!
assertTrue( 1 == 1 ); // Ok
assertTrue( 2 == 2 ); // Ok
return wasSuccessful();
}
}; // MyTest
MyTest thisTest;
for ( int i=0; i<11; ++i ) {
thisTest.run(); // runs the same test 11 times
}
assertTrue( 11 == thisTest.failureCount() ); // ( 1 == 2 ) x 11
assertTrue( 22 == thisTest.successCount() ); // ( 1 == 1 ) && ( 2 == 2 )
assertTrue( 33 == thisTest.runCount() ); // 33 == 11+22
assertTrue( "" != thisTest.failureString() ); // 11 recorded failures
std::string remember = thisTest.getName();
thisTest.reset(); // Anula los contadores
assertTrue( 0 == thisTest.failureCount() );
assertTrue( 0 == thisTest.successCount() );
assertTrue( 0 == thisTest.runCount() );
assertTrue( "" == thisTest.failureString() );
assertTrue( remember == thisTest.getName() ); // reset() won´t change the name
}}
Reimplemented in TestSuite< TestCase >.
| std::string TestCase::getName | ( | ) | const [inline, inherited] |
| void TestCase::setName | ( | const char * | name = 0 | ) | [inline, inherited] |
Sets the test case name to "name".
"name" is a null string or pointer, later typeid(*this).name() will be invoked to get the test´s name. {{ // test::setName()
class MyTest : public TestCase {
public:
bool run() {
assertTrue( 2 == 2 );
return wasSuccessful();
}
}; // MyTest
MyTest thisTest;
assertTrue( "chorlito" != thisTest.getName() );
thisTest.setName( "chorlito" );
assertTrue( "chorlito" == thisTest.getName() );
{
// thisTest.setName( std::string("chorlito") ); // won´t compile
thisTest.setName( std::string("chorlito").c_str() ); // bad practice
std::string V("boom!");
assertTrue( 0==strcmp( V.c_str() , "boom!") );
assertTrue( "chorlito" != thisTest.getName() ); // c_str() uses
assertTrue( "boom!" == thisTest.getName() ); // static data
}
}}
| const std::string TestCase::toString | ( | ) | const [inline, virtual, inherited] |
Huuuge string that holds a copy of non successfull test, separated by "\n".
=_fail: 1 == 0
=/ (125) X:/DIR/SubDir/test_BUnit.cpp
=_fail: 4 == 0
=/ (128) X:/DIR/SubDir/test_BUnit.cpp
Reimplemented in TestSuite< TestCase >.
| std::string TestCase::toString | ( | const T & | val | ) | [static, inherited] |
Returns a std::string constructed form value val.
toString() with standard C++ | const std::string TestCase::summary | ( | ) | const [inline, virtual, inherited] |
Returns a string with the name, number of successes and failures.
Reimplemented in TestSuite< TestCase >.
| const std::string TestCase::toXML | ( | ) | const [inline, virtual, inherited] |
XML string that holds a copy of all unsuccessful tests.
<fail file="X:/DIR/SubDir/test_BUnit.cpp" line="125" message="1 == 0"/> <fail file="X:/DIR/SubDir/test_BUnit.cpp" line="128" message="4 == 0"/>
Reimplemented in TestSuite< TestCase >.
| const std::string TestCase::report | ( | ) | const [inline, inherited] |
Returns string summary() followed by toString().
| const std::string TestCase::failureString | ( | ) | const [inline, inherited] |
Synonym for toString().
| void TestCase::recordSuccess | ( | ) | [inline, protected, inherited] |
| void TestCase::recordFailure | ( | const char * | label, |
| const char * | fname, | ||
| int | lineno, | ||
| bool | must_copy = false |
||
| ) | [inline, protected, inherited] |
Records that the test run did not succeed.
"fname" and "lineno" indicate the file and line where the test run is executed."fname" and "lineno" are usuallly obtained invoking global macros "__FILE__" and "__LINE__"."must_copy" forces a copy of string label to be created in dynamic memory. This dynamic memory will be destroyed when the test case gets destroyed or when method TestCase::reset() gets invoked."label" is a constant string generated by the preprocessor macro using #cond; this string constant is not stored in dynamic memory and it must not be destroyed.This method is invoked using macro BUnit_FAILURE().
| void TestCase::recordFailure | ( | const std::string & | label, |
| const char * | fname, | ||
| int | lineno | ||
| ) | [inline, protected, inherited] |
| void TestCase::testThis | ( | bool | cond, |
| const char * | label, | ||
| const char * | fname, | ||
| long | lineno, | ||
| bool | must_copy = false |
||
| ) | [inline, protected, inherited] |
Executes the test and records its result.
successCount().toString() this fact."cond"."fname" and "lineno" show the file and line of the executed test."fname" and "lineno" are values obtained with global macros "__FILE__" and "__LINE__"."must_copy" indicates whether it is necessary to make a copy of string "label"; this copy will be destroyed when the record of not successful test is deleted."label" is a constant genertated by the preprocessor when using macro #cond its memory must not be returned. This method is invoked using macro BUnit_TEST(). {{ // test::testThis()
class MyTest : public TestCase {
public:
bool run() {
bool dont_copy = false;
testThis( 2 == 2, "2 is 2", __FILE__, __LINE__, dont_copy ); // Ok
testThis( 1 == 2, "1 is 2", __FILE__, __LINE__, dont_copy ); // failure #1
testThis( 2 == 1, "2 is 1", __FILE__, __LINE__, dont_copy ); // failure #2
return wasSuccessful();
}
}; // MyTest
MyTest thisTest;
assertTrue( thisTest.wasSuccessful() ); // run() has not been executed
thisTest.run(); // 2 failures
assertTrue( thisTest.failureCount() == 2 );
assertTrue( ! thisTest.wasSuccessful() );
}}
| void TestCase::testThis | ( | bool | cond, |
| const std::string & | label, | ||
| const char * | fname, | ||
| long | lineno | ||
| ) | [inline, protected, inherited] |
Synonym for testThis().
| int TestCase::nPass | ( | ) | const [inline, protected, inherited] |
| int TestCase::nError | ( | ) | const [inline, protected, inherited] |
friend class TestSuite [friend, inherited] |
| void do_toString | ( | const TestCase * | tc, |
| std::basic_ostringstream< char > & | ost | ||
| ) | [friend, inherited] |
rational<INT> test_rational< INT >::m_half [protected] |
Definition at line 35 of file test_rational.cpp.
rational<INT> test_rational< INT >::m_quarter [protected] |
Definition at line 35 of file test_rational.cpp.
rational<INT> test_rational< INT >::m_one [protected] |
Definition at line 35 of file test_rational.cpp.
rational<INT> test_rational< INT >::m_half_neg [protected] |
Definition at line 36 of file test_rational.cpp.
rational<INT> test_rational< INT >::m_quarter_neg [protected] |
Definition at line 36 of file test_rational.cpp.
rational<INT> test_rational< INT >::m_one_neg [protected] |
Definition at line 36 of file test_rational.cpp.
rational<INT> test_rational< INT >::m_sep [protected] |
Definition at line 37 of file test_rational.cpp.
rational<INT> test_rational< INT >::m_sep_neg [protected] |
Definition at line 37 of file test_rational.cpp.
bool test_rational< INT >::m_super_lerdo [protected] |
Indica si hay que probar con numerotototes.
Definition at line 38 of file test_rational.cpp.
bool test_rational< INT >::m_super_numerotes [protected] |
Indica si se corren las pruebas que duran mucho.
Definition at line 39 of file test_rational.cpp.
int TestCase::m_pass [protected, inherited] |
int TestCase::m_failure [protected, inherited] |
const char * TestCase::m_name [protected, inherited] |
bool TestCase::m_test_suite_destroy [protected, inherited] |
std::list< TestCaseFailure > TestCase::m_failureList [protected, inherited] |
1.8.0