Modulo [B]asico para prueba [unit]aria de programas:
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Valores de enumeraciones Amigas 'defines'
Clases | Namespaces | 'defines' | 'typedefs' | Funciones
Referencia del Archivo BUnit.h

Módulo [B]ásico para prueba [unit]aria de programas. Más...

#include <list>
#include <string>
#include <sstream>
#include <cstring>
#include <typeinfo>
#include <algorithm>
#include <math.h>

Ir al código fuente de este archivo.

Clases

class  TestCaseFailure
 Clase privada que contiene los datos de cada prueba no exitosa. Más...
class  TestCase
 Cada caso de prueba es una instancia derivada de esta clase abstracta. Más...
class  TestSuite< TestCase >
 Colección de pruebas. Más...

Namespaces

namespace  std
 Definido por la biblioteca C++ estándar.
namespace  ECCI
 Escuela de Ciencias de la Computación e Informática.

'defines'

#define Spanish_dox   "Documentación en español"
 Documentación en español.
#define BUnit_h
#define Spanish_dox   "Documentación en español"
 Documentación en español.
#define TEST_BUnit()
 [BUnit] ==> BUnit.h
#define BUnit_TEST(cond)   testThis( cond, #cond, __FILE__, __LINE__ )
 [BUnit] Efectúa la prueba "cond y registra el resultado.
#define BUnit_TEST_Msg(msg, cond)   testThis( cond, msg, __FILE__, __LINE__ )
 [BUnit] Macro similar a BUnit_TEST() que usa el mensaje "msg".
#define BUnit_FAILURE(msg)   recordFailure( msg, __FILE__, __LINE__ )
 [BUnit] Registra como "falla" el resultado de una prueba.
#define BUnit_SUCCESS()   recordSuccess()
 [BUnit] Registra como "exitoso" el resultado de una prueba.
#define BUnit_EQUAL(expected, actual)   testThis( (expected) == (actual), #expected " == " #actual, __FILE__, __LINE__ )
 [BUnit] Efectúa la prueba para determinar si (expected == actual).
#define BUnit_EQUAL_Msg(MSG, expected, actual)   testThis( (expected) == (actual), MSG, __FILE__, __LINE__ )
 [BUnit] Efectúa la prueba para determinar si expected == actual.
#define BUnit_DEFINE_check_ok
 Si esta macro existe las funciones check_ok() quedan definidas para los tipos básicos.
#define CPPUNIT_BUnit()
 [CppUnit] Macros propios de CppUnit http://cppunit.sourceforge.net/doc/lastest
#define CPPUNIT_ASSERT(condition)   BUnit_TEST(condition)
 [CppUnit] Assertions that a condition is true.
#define CPPUNIT_ASSERT_MESSAGE(message, condition)   assertTrue_Msg(message,condition)
 [CppUnit] Assertion with a user specified message.
#define CPPUNIT_FAIL(message)   BUnit_FAILURE(message)
 [CppUnit] Fails with the specified message.
#define CPPUNIT_ASSERT_EQUAL(expected, actual)   BUnit_EQUAL(expected, actual)
 [CppUnit] Asserts that two values are equals.
#define CPPUNIT_ASSERT_EQUAL_MESSAGE(message, expected, actual)   BUnit_EQUAL_Msg(message, expected, actual)
 [CppUnit] Asserts that two values are equals, provides additional messafe on failure.
#define CPPUNIT_ASSERT_DOUBLES_EQUAL(expected, actual, delta)   assertEquals_Delta(expected, actual, delta)
 [CppUnit] Macro for primitive value comparisons.
#define CPPUNIT_ASSERT_THROW(expression, ExceptionType)
 [CppUnit] Asserts that the given expression throws an exception of the specified type.
#define CPPUNIT_ASSERT_NO_THROW(expression)
 [CppUnit] Asserts that the given expression does not throw any exceptions.
#define CPPUNIT_ASSERT_ASSERTION_FAIL(assertion)   CPPUNIT_ASSERT_THROW( assertion, CPPUNIT_NS::Exception )
 [CppUnit] Asserts that an assertion fail.
#define CPPUNIT_ASSERT_ASSERTION_PASS(assertion)   CPPUNIT_ASSERT_NO_THROW( assertion )
 [CppUnit] Asserts that an assertion pass.
#define JUnit_BUnit()
#define assertEquals(EXPECTED, ACTUAL)   BUnit_EQUAL(EXPECTED, ACTUAL)
 [JUnit] Macros propios de JUnit http://junit.sourceforge.net/javadoc/junit/framework/Assert.html Asserts that two objects are equal.
#define assertEquals_Msg(MSG, EXPECTED, ACTUAL)   BUnit_EQUAL_Msg(MSG, EXPECTED, ACTUAL)
 Asserts that two objects are equal (with message).
#define assertTrue(CONDITION)   testThis( CONDITION, #CONDITION, __FILE__, __LINE__ )
 [JUnit] Asserts that a condition is true.
#define assertTrue_Msg(MSG,CONDITION)   testThis( CONDITION, MSG, __FILE__, __LINE__ )
 [JUnit] Asserts that a condition is true (with message).
#define assertFalse(CONDITION)   testThis( !(CONDITION), "!(" #CONDITION ")", __FILE__, __LINE__ )
 [JUnit] Asserts that a condition is false.
#define assertFalse_Msg(MSG, CONDITION)   testThis( !(CONDITION), MSG, __FILE__, __LINE__ )
 [JUnit] Asserts that a condition is false (with message).
#define assertEquals_Delta(EXPECTED, ACTUAL, DELTA)
 [JUnit] Asserts that two doubles are equal concerning a delta.
#define assertEquals_Delta_Msg(MSG, EXPECTED, ACTUAL, DELTA)
 [JUnit] Asserts that two doubles are equal concerning a delta (with message).
#define assertNull(OBJECT)   testThis( 0==&(OBJECT), "assertNull(" #OBJECT ")", __FILE__, __LINE__ )
 [JUnit] Asserts that an object is null.
#define assertNotNull(OBJECT)   testThis( 0!=&(OBJECT), "assertNotNull(" #OBJECT ")", __FILE__, __LINE__ )
 [JUnit] Asserts that an object isn't null.
#define assertSame(THIS, THAT)
 [JUnit] Asserts that two objects refer to the same object.
#define assertNotSame(THIS, THAT)
 Asserts that two objects do not refer to the same object.
#define fail_Msg(MSG)   BUnit_FAILURE(MSG)
 [JUnit] Fails a test with the given message.

'typedefs'

typedef TestCase TestCase_is_base_for_TestSuite
 Sinónimo de TestCase.
typedef TestCase TestFixture
 Establece el ambiente para la ejecución de la prueba.

Funciones

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.
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.

Descripción detallada

Módulo [B]ásico para prueba [unit]aria de programas.

Autor:
Adolfo Di Mare adolf.nosp@m.o@di.nosp@m.-mare.nosp@m..com
Fecha:
2008

Definición en el archivo BUnit.h.


Documentación de los 'defines'

#define Spanish_dox   "Documentación en español"

Documentación en español.

Definición en la línea 232 del archivo BUnit.h.

#define BUnit_h

Definición en la línea 52 del archivo BUnit.h.

#define Spanish_dox   "Documentación en español"

Documentación en español.

Definición en la línea 232 del archivo BUnit.h.

#define TEST_BUnit ( )

[BUnit] ==> BUnit.h

Definición en la línea 1118 del archivo BUnit.h.

#define BUnit_TEST (   cond)    testThis( cond, #cond, __FILE__, __LINE__ )

[BUnit] Efectúa la prueba "cond y registra el resultado.

  • Es más elegante usar assertTrue() que hace lo mismo.
  • Si la prueba "cond" tiene éxito invoca el método TestCase::recordSuccess().
  • Si la prueba "cond" no tiene éxito invoca el método TestCase::recordFailure().
        {{  // test::BUnit_macro()
            class MyTest : public TestCase {
            public:
                bool run() {
                    testThis(   2 == 2, "2 == 2", __FILE__, __LINE__ );         // sucess
                    BUnit_TEST( 2 == 2 ); // same thing using macro BUnit_TEST()
                    testThis(   1 == 2, "1 == 2", __FILE__, __LINE__ );         // failure #1
                    assertTrue( 1 == 2 ); // same thing using BUnit_TEST()      // failure #2
                    {   // con macros
                        std::vector<int> V; // "V[]" is empty ==> there is no "V[2]"
                        try {
                            int i = V.at(2);  // "V[2]" does not exits
                            BUnit_FAILURE("V.at(2)"); // failure: "at()" didn´t rise the exception
                        }
                        catch (std::logic_error&) {
                            BUnit_SUCCESS(); // correct: "V.at(2)" throws "logic_error"
                        }                    // because "V[]" is empty
                    }
                    {   // no macros
                        std::vector<int> V;
                        try {
                            int i = V.at(2);
                            recordFailure("V.at(2)" , __FILE__ , __LINE__ );
                        }
                        catch (std::logic_error&) {
                            recordSuccess();
                        }
                    }
                    return wasSuccessful(); // Returns "false"
                }
            }; // MyTest
            MyTest thisTest;
            assertTrue( thisTest.wasSuccessful() ); // run() has not been executed
            thisTest.run(); // 2 failures
            assertTrue( thisTest.failureCount() == 2 );
            assertTrue( thisTest.toXML() != "" );
            assertTrue( ! thisTest.wasSuccessful() );
        }}
    
    Ver también:
    test_BUnit::test_BUnit_macro()

Definición en la línea 1144 del archivo BUnit.h.

#define BUnit_TEST_Msg (   msg,
  cond 
)    testThis( cond, msg, __FILE__, __LINE__ )

[BUnit] Macro similar a BUnit_TEST() que usa el mensaje "msg".

  • El mensaje "msg" debe ser una hilera (char*) literal o un objeto que pueda convertirse en (const char *).

Definición en la línea 1156 del archivo BUnit.h.

#define BUnit_FAILURE (   msg)    recordFailure( msg, __FILE__, __LINE__ )

[BUnit] Registra como "falla" el resultado de una prueba.

  • El programador cliente es quien determinó que la prueba no tuvo éxito y quiere registrar ese hecho.
  • Está implementado comun una macro que sirve de empaque para invocar el método TestCase::recordFailure().
    Ver también:
    BUnit_TEST()
        if (22==33) {
            BUnit_FAILURE("! (22==33)"); // records failure
        }
    

Definición en la línea 1181 del archivo BUnit.h.

#define BUnit_SUCCESS ( )    recordSuccess()

[BUnit] Registra como "exitoso" el resultado de una prueba.

  • El programador cliente es quien determinó que la prueba fue exitosa y quiere registrar ese hecho.
  • Generalmente se usa después de atrapar una excepción que se supone debió ser lanzada como resultado de la prueba.
  • Está implementado como una macro que invoca el método TestCase::recordSuccess().
    Ver también:
    BUnit_TEST()

Definición en la línea 1205 del archivo BUnit.h.

#define BUnit_EQUAL (   expected,
  actual 
)    testThis( (expected) == (actual), #expected " == " #actual, __FILE__, __LINE__ )

[BUnit] Efectúa la prueba para determinar si (expected == actual).

Definición en la línea 1221 del archivo BUnit.h.

#define BUnit_EQUAL_Msg (   MSG,
  expected,
  actual 
)    testThis( (expected) == (actual), MSG, __FILE__, __LINE__ )

[BUnit] Efectúa la prueba para determinar si expected == actual.

Definición en la línea 1243 del archivo BUnit.h.

Si esta macro existe las funciones check_ok() quedan definidas para los tipos básicos.

Definición en la línea 1882 del archivo BUnit.h.

#define CPPUNIT_BUnit ( )

[CppUnit] Macros propios de CppUnit http://cppunit.sourceforge.net/doc/lastest

Definición en la línea 1903 del archivo BUnit.h.

#define CPPUNIT_ASSERT (   condition)    BUnit_TEST(condition)

[CppUnit] Assertions that a condition is true.

Ver también:
http://cppunit.sourceforge.net/doc/lastest/group___assertions.html#ga0

Definición en la línea 1908 del archivo BUnit.h.

#define CPPUNIT_ASSERT_MESSAGE (   message,
  condition 
)    assertTrue_Msg(message,condition)

[CppUnit] Assertion with a user specified message.

Ver también:
http://cppunit.sourceforge.net/doc/lastest/group___assertions.html#ga1

Definición en la línea 1912 del archivo BUnit.h.

#define CPPUNIT_FAIL (   message)    BUnit_FAILURE(message)

[CppUnit] Fails with the specified message.

Ver también:
http://cppunit.sourceforge.net/doc/lastest/group___assertions.html#ga2

Definición en la línea 1916 del archivo BUnit.h.

#define CPPUNIT_ASSERT_EQUAL (   expected,
  actual 
)    BUnit_EQUAL(expected, actual)

[CppUnit] Asserts that two values are equals.

Ver también:
http://cppunit.sourceforge.net/doc/lastest/group___assertions.html#ga3

Definición en la línea 1920 del archivo BUnit.h.

#define CPPUNIT_ASSERT_EQUAL_MESSAGE (   message,
  expected,
  actual 
)    BUnit_EQUAL_Msg(message, expected, actual)

[CppUnit] Asserts that two values are equals, provides additional messafe on failure.

Ver también:
http://cppunit.sourceforge.net/doc/lastest/group___assertions.html#ga4

Definición en la línea 1924 del archivo BUnit.h.

#define CPPUNIT_ASSERT_DOUBLES_EQUAL (   expected,
  actual,
  delta 
)    assertEquals_Delta(expected, actual, delta)

[CppUnit] Macro for primitive value comparisons.

Ver también:
http://cppunit.sourceforge.net/doc/lastest/group___assertions.html#ga5

Definición en la línea 1929 del archivo BUnit.h.

#define CPPUNIT_ASSERT_THROW (   expression,
  ExceptionType 
)
Valor:
do {                                            \
            bool cpputExceptionThrown_ = false;         \
            try {                                       \
                expression;                             \
            } catch ( const ExceptionType & ) {         \
                cpputExceptionThrown_ = true;           \
            }                                           \
                                                        \
            if ( cpputExceptionThrown_ ) {              \
                break;                                  \
            }                                           \
            BUnit_FAILURE(                              \
                "Expected exception: " #ExceptionType ) \
        } while ( false )

[CppUnit] Asserts that the given expression throws an exception of the specified type.

Ver también:
http://cppunit.sourceforge.net/doc/lastest/group___assertions.html#ga6

Definición en la línea 1934 del archivo BUnit.h.

#define CPPUNIT_ASSERT_NO_THROW (   expression)
Valor:
do {                                                  \
            try {                                             \
                expression;                                   \
            } catch ( ... ) {                                 \
                BUnit_FAILURE("Unexpected exception caught"); \
            }                                                 \
        } while ( false )

[CppUnit] Asserts that the given expression does not throw any exceptions.

Ver también:
http://cppunit.sourceforge.net/doc/lastest/group___assertions.html#ga7

Definición en la línea 1952 del archivo BUnit.h.

#define CPPUNIT_ASSERT_ASSERTION_FAIL (   assertion)    CPPUNIT_ASSERT_THROW( assertion, CPPUNIT_NS::Exception )

[CppUnit] Asserts that an assertion fail.

Ver también:
http://cppunit.sourceforge.net/doc/lastest/group___assertions.html#ga8

Definición en la línea 1963 del archivo BUnit.h.

#define CPPUNIT_ASSERT_ASSERTION_PASS (   assertion)    CPPUNIT_ASSERT_NO_THROW( assertion )

[CppUnit] Asserts that an assertion pass.

Ver también:
http://cppunit.sourceforge.net/doc/lastest/group___assertions.html#ga9

Definición en la línea 1968 del archivo BUnit.h.

#define JUnit_BUnit ( )

Definición en la línea 1971 del archivo BUnit.h.

#define assertEquals (   EXPECTED,
  ACTUAL 
)    BUnit_EQUAL(EXPECTED, ACTUAL)
#define assertEquals_Msg (   MSG,
  EXPECTED,
  ACTUAL 
)    BUnit_EQUAL_Msg(MSG, EXPECTED, ACTUAL)

Asserts that two objects are equal (with message).

Ver también:
http://junit.sourceforge.net/javadoc/junit/framework/Assert.html#assertEquals(java.lang.String,%20java.lang.Object,%20java.lang.Object)

Definición en la línea 1980 del archivo BUnit.h.

#define assertTrue (   CONDITION)    testThis( CONDITION, #CONDITION, __FILE__, __LINE__ )

[JUnit] Asserts that a condition is true.

Ver también:
http://junit.sourceforge.net/javadoc/junit/framework/Assert.html#assertTrue(boolean)

Definición en la línea 1984 del archivo BUnit.h.

#define assertTrue_Msg (   MSG,
  CONDITION 
)    testThis( CONDITION, MSG, __FILE__, __LINE__ )

[JUnit] Asserts that a condition is true (with message).

Ver también:
http://junit.sourceforge.net/javadoc/junit/framework/Assert.html#assertTrue(java.lang.String,%20boolean)

Definición en la línea 1988 del archivo BUnit.h.

#define assertFalse (   CONDITION)    testThis( !(CONDITION), "!(" #CONDITION ")", __FILE__, __LINE__ )

[JUnit] Asserts that a condition is false.

Ver también:
http://junit.sourceforge.net/javadoc/junit/framework/Assert.html#assertFalse(boolean)

Definición en la línea 1993 del archivo BUnit.h.

#define assertFalse_Msg (   MSG,
  CONDITION 
)    testThis( !(CONDITION), MSG, __FILE__, __LINE__ )

[JUnit] Asserts that a condition is false (with message).

Ver también:
http://junit.sourceforge.net/javadoc/junit/framework/Assert.html#assertFalse(java.lang.String,%20boolean)

Definición en la línea 1997 del archivo BUnit.h.

#define assertEquals_Delta (   EXPECTED,
  ACTUAL,
  DELTA 
)
Valor:
testThis( fabs( double(EXPECTED) -  double(ACTUAL) ) < double(DELTA), \
        "|"  #EXPECTED "-" #ACTUAL "| < " #DELTA,  __FILE__, __LINE__ )

[JUnit] Asserts that two doubles are equal concerning a delta.

Ver también:
http://junit.sourceforge.net/javadoc/junit/framework/Assert.html#assertEquals(double,%20double,%20double)

Definición en la línea 2003 del archivo BUnit.h.

#define assertEquals_Delta_Msg (   MSG,
  EXPECTED,
  ACTUAL,
  DELTA 
)
Valor:
testThis( fabs( double(EXPECTED) -  double(ACTUAL) ) < double(DELTA), \
        MSG, __FILE__, __LINE__ )

[JUnit] Asserts that two doubles are equal concerning a delta (with message).

Ver también:
http://junit.sourceforge.net/javadoc/junit/framework/Assert.html#assertEquals(java.lang.String,%20double,%20double,%20double)

Definición en la línea 2009 del archivo BUnit.h.

#define assertNull (   OBJECT)    testThis( 0==&(OBJECT), "assertNull(" #OBJECT ")", __FILE__, __LINE__ )

[JUnit] Asserts that an object is null.

Ver también:
http://junit.sourceforge.net/javadoc/junit/framework/Assert.html#assertNull(java.lang.Object)

Definición en la línea 2015 del archivo BUnit.h.

#define assertNotNull (   OBJECT)    testThis( 0!=&(OBJECT), "assertNotNull(" #OBJECT ")", __FILE__, __LINE__ )

[JUnit] Asserts that an object isn't null.

Ver también:
http://junit.sourceforge.net/javadoc/junit/framework/Assert.html#assertNotNull(java.lang.Object)

Definición en la línea 2019 del archivo BUnit.h.

#define assertSame (   THIS,
  THAT 
)
Valor:
testThis( &(THIS)==&(THAT), \
                   "assertSame("    #THIS ", " #THAT ")", __FILE__, __LINE__ )

[JUnit] Asserts that two objects refer to the same object.

Ver también:
http://junit.sourceforge.net/javadoc/junit/framework/Assert.html#assertSame(java.lang.Object,%20java.lang.Object)

Definición en la línea 2024 del archivo BUnit.h.

#define assertNotSame (   THIS,
  THAT 
)
Valor:
testThis( &(THIS)!=&(THAT), \
                   "assertNotSame(" #THIS ", " #THAT ")", __FILE__, __LINE__ )

Asserts that two objects do not refer to the same object.

Ver también:
http://junit.sourceforge.net/javadoc/junit/framework/Assert.html#assertNotSame(java.lang.Object,%20java.lang.Object)

Definición en la línea 2029 del archivo BUnit.h.

#define fail_Msg (   MSG)    BUnit_FAILURE(MSG)

[JUnit] Fails a test with the given message.

Ver también:
http://junit.sourceforge.net/javadoc/junit/framework/Assert.html#fail(java.lang.String)

Definición en la línea 2042 del archivo BUnit.h.


Documentación de los 'typedefs'

Sinónimo de TestCase.

Definición en la línea 183 del archivo BUnit.h.

Establece el ambiente para la ejecución de la prueba.

Esta clase existe para mejorar la compatibilidad con JUnit.

Ver también:
TestCase::setUp()

Definición en la línea 791 del archivo BUnit.h.


Documentación de las funciones

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.

Definición en la línea 1050 del archivo BUnit.h.

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.

Definición en la línea 1097 del archivo BUnit.h.