|
Modulo [B]asico para prueba [unit]aria de programas:
|
Prueba la clase rational<INT>.
Más...
Métodos públicos | |
| 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 () |
Ejecuta la prueba setUp(); run(); tearDown();. | |
| bool | Run () |
Sinónimo de run(). | |
| bool | runTest () |
Sinónimo de run(). | |
| virtual void | tearDown () |
| Destruye el ambiente de prueba. | |
| int | countTestCases () const |
| 1 == Cantidad de casos de prueba. | |
| int | runCount () const |
| Cantidad total de pruebas realizadas. | |
| virtual int | failureCount () const |
| Cantidad de pruebas que fallaron. | |
| int | errorCount () const |
Siempre retorna 0 (cero): "Cantidad de errores". | |
| virtual int | successCount () const |
| Cantidad de pruebas exitosas. | |
| bool | wasSuccessful () const |
Retorna "true" si todas las pruebas han sido exitosas. | |
| virtual void | reset () |
| Elimina todas las pruebas realizadas. | |
| std::string | getName () const |
| Obtiene el nombre de la prueba. | |
| void | setName (const char *name=0) |
Le cambia el nombre a la prueba por "name". | |
| virtual const std::string | toString () const |
Hilera "enooorme" que contiene copia del registro de pruebas no exitosas, separados por "\n". | |
| virtual const std::string | summary () const |
| Retorna un hilera que contiene el nombre, cantidad de éxitos y fallas. | |
| virtual const std::string | toXML () const |
| Hilera XML que contiene una copia de las pruebas no exitosas. | |
| const std::string | report () const |
Retorna la hilera encabezado summary() seguido toString(). | |
| const std::string | failureString () const |
Sinónimo de toString(). | |
Métodos públicos estáticos | |
| template<class T > | |
| static std::string | toString (const T &val) |
Retorna una hilera std::string contruida desde el valor de val. | |
Métodos protegidos | |
| void | recordSuccess () |
| Registra como exitoso el resultado de una prueba. | |
| void | recordFailure (const char *label, const char *fname, int lineno, bool must_copy=false) |
| Registra que la prueba no tuvo éxito. | |
| void | recordFailure (const std::string &label, const char *fname, int lineno) |
| Registra que la prueba no tuvo éxito. | |
| void | testThis (bool cond, const char *label, const char *fname, long lineno, bool must_copy=false) |
| Efectúa la prueba y registra su resultado. | |
| void | testThis (bool cond, const std::string &label, const char *fname, long lineno) |
Sinónimo de testThis(). | |
| int | nPass () const |
Sinónimo de successCount() [OBSOLETO]. | |
| int | nError () const |
Sinónimo de failureCount() [OBSOLETO]. | |
Atributos protegidos | |
| 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 |
| Cantidad de pruebas exitosas. | |
| int | m_failure |
| Cantidad de pruebas que han fallado. | |
| const char * | m_name |
| Nombre del caso de prueba. | |
| bool | m_test_suite_destroy |
Contiene "true" si la prueba está almacenada en memoria dinámica. | |
| std::list< TestCaseFailure > | m_failureList |
| Contenedor para almacenar las pruebas que han producido fallas. | |
Amigas | |
| class | TestSuite |
| Colección de pruebas. | |
| template<class TestCase > | |
| void | do_toXML (const TestCase *tc, std::basic_ostringstream< char > &ost) |
Le agrega a ost la hilera de todas las pruebas no exitosas de *tc en formato XML. | |
| template<class TestCase > | |
| void | do_toString (const TestCase *tc, std::basic_ostringstream< char > &ost) |
Le agrega a ost la hilera de todas las pruebas no exitosas de *tc. | |
Prueba la clase rational<INT>.
Definición en la línea 33 del archivo test_rational.cpp.
| void test_rational< INT >::setUp | ( | ) | [virtual] |
Establece el ambiente de prueba.
Reimplementado de TestCase.
Definición en la línea 108 del archivo test_rational.cpp.
| void test_rational< INT >::super_numerotes | ( | bool | sl = false | ) | [inline] |
Define si se corren o no las pruebas con super-numerotototes.
Definición en la línea 43 del archivo test_rational.cpp.
| void test_rational< INT >::super_lerdo | ( | bool | sl = false | ) | [inline] |
Define si se corren las pruebas que duran mucho.
Definición en la línea 47 del archivo test_rational.cpp.
| bool test_rational< INT >::run | ( | ) | [virtual] |
Método principal de la prueba.
setUp() Implementa TestCase.
Definición en la línea 81 del archivo test_rational.cpp.
| void test_rational< INT >::rat_tst | ( | ) |
Antiguo programa de prueba para la clase rational<INT>.
Definición en la línea 458 del archivo test_rational.cpp.
| void test_rational< INT >::run_rest | ( | ) |
Método complementario de prueba.
run(). Definición en la línea 575 del archivo test_rational.cpp.
| void test_rational< INT >::test_quiebra_Narvaja | ( | ) |
Datos de prueba que sirven para quebrar la implementación BigNum de Narvaja.
Definición en la línea 131 del archivo test_rational.cpp.
| void test_rational< INT >::test_constructor | ( | ) |
Datos de prueba para los constructores de la clase rational<INT>.
Definición en la línea 166 del archivo test_rational.cpp.
| void test_rational< INT >::test_destructor | ( | ) |
Datos de prueba para el destructor de la clase rational<INT>.
Definición en la línea 181 del archivo test_rational.cpp.
| void test_rational< INT >::test_set | ( | ) |
Datos de prueba para rational<INT>::set().
Definición en la línea 187 del archivo test_rational.cpp.
| void test_rational< INT >::test_op_equal | ( | ) |
Datos de prueba para rational<INT>::operator=().
Definición en la línea 213 del archivo test_rational.cpp.
| void test_rational< INT >::test_num_den | ( | ) |
Datos de prueba para rational<INT>::num() y rational<INT>::den().
Definición en la línea 200 del archivo test_rational.cpp.
| void test_rational< INT >::test_swap | ( | ) |
Datos de prueba para rational<INT>::swap().
Definición en la línea 226 del archivo test_rational.cpp.
| void test_rational< INT >::test_op_add_equal | ( | ) |
Datos de prueba para rational<INT>::operator +=() y rational<INT>::operator -=() .
Definición en la línea 238 del archivo test_rational.cpp.
| void test_rational< INT >::test_op_add | ( | ) |
Datos de prueba para rational<INT>::operator +() y rational<INT>::operator -() .
Definición en la línea 253 del archivo test_rational.cpp.
| void test_rational< INT >::test_op_mult_equal | ( | ) |
Datos de prueba para rational<INT>::operator *=() y rational<INT>::operator /=().
Definición en la línea 268 del archivo test_rational.cpp.
| void test_rational< INT >::test_op_mult | ( | ) |
Datos de prueba para rational<INT>::operator *() y rational<INT>::operator /().
Definición en la línea 283 del archivo test_rational.cpp.
| void test_rational< INT >::test_op_minus | ( | ) |
Datos de prueba para rational<INT>::operator -().
Definición en la línea 298 del archivo test_rational.cpp.
| void test_rational< INT >::test_fromString | ( | ) |
Datos de prueba para rational<INT>::test_fromString().
Definición en la línea 311 del archivo test_rational.cpp.
| void test_rational< INT >::test_op_comp | ( | ) |
Datos de prueba para todos los operadores de comparación de rational<INT>.
Definición en la línea 355 del archivo test_rational.cpp.
| void test_rational< INT >::test_op_in | ( | ) |
Datos de prueba para operator>>().
Definición en la línea 393 del archivo test_rational.cpp.
| void test_rational< INT >::test_op_out | ( | ) |
Datos de prueba para operator<<().
Definición en la línea 371 del archivo test_rational.cpp.
| void test_rational< INT >::test_simplify | ( | ) |
Datos de prueba para rational<INT>::test_simplify().
Definición en la línea 325 del archivo test_rational.cpp.
| void test_rational< INT >::test_check_ok | ( | ) |
Datos de prueba para check_ok( const rational<INT>& ).
Definición en la línea 340 del archivo test_rational.cpp.
| void test_rational< INT >::test_mcd | ( | ) |
Datos de prueba para la función mcd().
Definición en la línea 409 del archivo test_rational.cpp.
| void test_rational< INT >::test_op_cpp | ( | ) |
Datos de prueba para los incrementadores c++ y --c.
Definición en la línea 421 del archivo test_rational.cpp.
| void TestCase::runBare | ( | ) | [inline, inherited] |
Ejecuta la prueba setUp(); run(); tearDown();.
run(), este método sí establece el ambiente de prueba invocando setUp() y tearDown() antes y después de hacer la prueba. {{ // 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 );
}}
Reimplementado en 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 == Cantidad de casos de prueba.
El valor retornado siempre es uno 1 porque la clase TestCase representa un único caso de pruebas. Para el contenedor TestSuite<> el valor retornado puede ser mayor a 1.
TestCase."assert()" de BUnit, como lo son assertTrue(), fail_Msg(), assertEquals_Delta(), u otros como BUnit_SUCCESS() or BUnit_TEST().TestSuite<>. Reimplementado en TestSuite< TestCase >.
| int TestCase::runCount | ( | ) | const [inline, inherited] |
Cantidad total de pruebas realizadas.
successCount()+failureCount()+errorCount(). | int TestCase::failureCount | ( | ) | const [inline, virtual, inherited] |
| int TestCase::errorCount | ( | ) | const [inline, inherited] |
Siempre retorna 0 (cero): "Cantidad de errores".
| int TestCase::successCount | ( | ) | const [inline, virtual, inherited] |
| bool TestCase::wasSuccessful | ( | ) | const [inline, inherited] |
Retorna "true" si todas las pruebas han sido exitosas.
(successCount() == runCount()) | void TestCase::reset | ( | ) | [inline, virtual, inherited] |
Elimina todas las pruebas realizadas.
{{ // 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
}}
Reimplementado en TestSuite< TestCase >.
| std::string TestCase::getName | ( | ) | const [inline, inherited] |
| void TestCase::setName | ( | const char * | name = 0 | ) | [inline, inherited] |
Le cambia el nombre a la prueba por "name".
"name" es una hilera o puntero nulo, después usa typeid(*this).name() para obtener el nombre de la prueba. {{ // 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] |
Hilera "enooorme" que contiene copia del registro de pruebas no exitosas, separados por "\n".
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
Reimplementado en TestSuite< TestCase >.
| std::string TestCase::toString | ( | const T & | val | ) | [static, inherited] |
Retorna una hilera std::string contruida desde el valor de val.
toString() with standard C++ | const std::string TestCase::summary | ( | ) | const [inline, virtual, inherited] |
Retorna un hilera que contiene el nombre, cantidad de éxitos y fallas.
Reimplementado en TestSuite< TestCase >.
| const std::string TestCase::toXML | ( | ) | const [inline, virtual, inherited] |
Hilera XML que contiene una copia de las pruebas no exitosas.
<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"/>
Reimplementado en TestSuite< TestCase >.
| const std::string TestCase::report | ( | ) | const [inline, inherited] |
Retorna la hilera encabezado summary() seguido toString().
| const std::string TestCase::failureString | ( | ) | const [inline, inherited] |
Sinónimo de 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] |
Registra que la prueba no tuvo éxito.
"fname" y "lineno" indican el archivo y el renglón en donde se ejecuta la prueba."fname" y "lineno" se obtienen invocando las macros globales "__FILE__" y "__LINE__"."must_copy" indica que es necesario hacer una copia de la hilera "label" en memoria dinámica. Este memoria dinámica será destruida cuando el caso de prueba sea destruido o cuando el método TestCase::reset() sea invocado."label" es una constante generada por el preprocesador al usar la macro #cond; como esta hilera constante no está almacenada en la memoria dinámica no debe ser destruida.Este método es invocado usando la 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] |
Efectúa la prueba y registra su resultado.
successCount().toString() ese hecho."cond"."fname" y "lineno" indican el archivo y el renglón en donde se ejecuta la prueba."fname" y "lineno" se obtienen con las macros globales "__FILE__" y "__LINE__"."must_copy" indica que es necesario hacer una copia de la hilera "label", copia que será destruida cuando el registro de pruebas no exitosas sea borrado."label" es una constante generada por el preprocesador al usar la macro #cond y por eso su memoria no debe ser retornada. Este método es invocado usando la 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] |
Sinónimo de 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] |
Definición en la línea 35 del archivo test_rational.cpp.
rational<INT> test_rational< INT >::m_quarter [protected] |
Definición en la línea 35 del archivo test_rational.cpp.
rational<INT> test_rational< INT >::m_one [protected] |
Definición en la línea 35 del archivo test_rational.cpp.
rational<INT> test_rational< INT >::m_half_neg [protected] |
Definición en la línea 36 del archivo test_rational.cpp.
rational<INT> test_rational< INT >::m_quarter_neg [protected] |
Definición en la línea 36 del archivo test_rational.cpp.
rational<INT> test_rational< INT >::m_one_neg [protected] |
Definición en la línea 36 del archivo test_rational.cpp.
rational<INT> test_rational< INT >::m_sep [protected] |
Definición en la línea 37 del archivo test_rational.cpp.
rational<INT> test_rational< INT >::m_sep_neg [protected] |
Definición en la línea 37 del archivo test_rational.cpp.
bool test_rational< INT >::m_super_lerdo [protected] |
Indica si hay que probar con numerotototes.
Definición en la línea 38 del archivo test_rational.cpp.
bool test_rational< INT >::m_super_numerotes [protected] |
Indica si se corren las pruebas que duran mucho.
Definición en la línea 39 del archivo 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