Página principal | Lista de namespace | Jerarquía de la clase | Lista de componentes | Lista de archivos | Miembros de las clases | Archivos de los miembros

Referencia del Archivo ADH_test.h

Módulo para prueba unitaria de programas. Más...

#include <string>
#include <sstream>
#include <typeinfo.h>
#include <math.h>

Ir al código fuente de este archivo.

Namespaces

namespace  std
namespace  ECCI

Definiciones

#define ADH_test_h
 Evita la inclusión múltiple.
#define TEST_ADH_test()
 [ADH_test] Macros propios de ADH_test.h
#define TEST_THIS(cond)   testThis( cond, #cond, __FILE__, __LINE__ )
 [ADH_test] Efectúa la prueba cond y registra el resultado.
#define TEST_THIS_Msg(msg, cond)   testThis( cond, msg, __FILE__, __LINE__ )
 [ADH_test] Macro similar a TEST_THIS() que usa el mensaje msg en caso de falla.
#define TEST_ERROR(str)   recordError( str, __FILE__, __LINE__ )
 [ADH_test] Registra como "error" el resultado de una prueba.
#define TEST_SUCCESS()   recordSuccess()
 [ADH_test] Registra como "exitoso" el resultado de una prueba.
#define TEST_EQUAL(expected, actual)   testThis( (expected) == (actual), #expected " == " #actual, __FILE__, __LINE__ )
 [ADH_test] Efectúa la prueba para determinar si expected == actual.
#define TEST_EQUAL_Msg(MSG, expected, actual)   testThis( (expected) == (actual), MSG, __FILE__, __LINE__ )
 [ADH_test] Efectúa la prueba para determinar si expected == actual.
#define CPPUNIT_ADH_test()
 [CppUnit] Macros propios de CppUnit http://cppunit.sourceforge.net/doc/lastest
#define CPPUNIT_ASSERT(condition)   TEST_THIS(condition)
 [CppUnit] Assertions that a condition is true.
#define CPPUNIT_ASSERT_MESSAGE(message, condition)   CPPUNIT_ASSERT(condition)
 [CppUnit] Assertion with a user specified message.
#define CPPUNIT_FAIL(message)   TEST_ERROR(message)
 [CppUnit] Fails with the specified message.
#define CPPUNIT_ASSERT_EQUAL(expected, actual)   TEST_EQUAL(expected, actual)
 [CppUnit] Asserts that two values are equals.
#define CPPUNIT_ASSERT_EQUAL_MESSAGE(message, expected, actual)   TEST_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_ADH_test()
#define assertEquals(EXPECTED, ACTUAL)   TEST_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)   TEST_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)   testThis( &(THIS)==&(THAT), "assertSame(" #THIS ", " #THAT ")", __FILE__, __LINE__ )
 [JUnit] Asserts that two objects refer to the same object.
#define assertNotSame(THIS, THAT)   testThis( &(THIS)!=&(THAT), "assertNotSame(" #THIS ", " #THAT ")", __FILE__, __LINE__ )
 Asserts that two objects do not refer to the same object.
#define fail()   TEST_ERROR("ERROR")
 [JUnit] Fails a test with no message.
#define fail_Msg(MSG)   TEST_ERROR(MSG)
 [JUnit] Fails a test with the given message.

Funciones

std::ostream & operator<< (std::ostream &COUT, const TestCase &test)
 Operación de grabado que permite reportar el resultado de la prueba test.
long Report (std::ostream &COUT, const TestCase &test)
 Graba en "COUT" el resultado de la prueba test.
template<class T>
bool check_ok (const T &)
 Declaración genérica para check_ok().
bool check_ok (const signed char &)
 check_ok<>()
bool check_ok (const unsigned char &)
 check_ok<>()
bool check_ok (const signed int &)
 check_ok<>()
bool check_ok (const unsigned int &)
 check_ok<>()
bool check_ok (const signed long &)
 check_ok<>()
bool check_ok (const unsigned long &)
 check_ok<>()
bool check_ok (const float &)
 check_ok<>()
bool check_ok (const double &)
 check_ok<>()
bool check_ok (const long double &)
 check_ok<>()
template<class T>
std::string toString (const T &val)
 Retorna una hilera que contiene el valor de val.


Descripción detallada

Módulo para prueba unitaria de programas.

Autor:
Adolfo Di Mare <[email protected]>
Fecha:
2006

Definición en el archivo ADH_test.h.


Documentación de las definiciones

#define ADH_test_h
 

Evita la inclusión múltiple.

Definición en la línea 49 del archivo ADH_test.h.

 
#define TEST_ADH_test  ) 
 

[ADH_test] Macros propios de ADH_test.h

Definición en la línea 190 del archivo ADH_test.h.

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

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

  • Si la prueba cond tiene éxito invoca el método TestCase::recordSuccess()
  • Si la prueba cond falla invoca el método TestCase::recordFail()
  • Esta es una una macro que invoca el método TestCase::testThis()
          TEST_THIS("0 != 1"); // Siempre tiene éxito
          testThis(0 != 1, "0 != 1", __FILE__, __LINE__ ); // Siempre tiene éxito
    

Definición en la línea 204 del archivo ADH_test.h.

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

[ADH_test] Macro similar a TEST_THIS() que usa el mensaje msg en caso de falla.

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

Definición en la línea 209 del archivo ADH_test.h.

#define TEST_ERROR str   )     recordError( str, __FILE__, __LINE__ )
 

[ADH_test] Registra como "error" el resultado de una prueba.

  • El programador cliente es quien determinó que la prueba falló y por eso quiere registrar ese hecho.
  • Está implementado comun una macro que invoca el método TestCase::recordError()

      if (22==33) {
          TEST_ERROR("22 != 33"); // Registra que la prueba falló
      }

Definición en la línea 222 del archivo ADH_test.h.

 
#define TEST_SUCCESS  )     recordSuccess()
 

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

  • El programador cliente es quien determinó que la prueba fue exitosa y por eso 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 comun una macro que invoca el método TestCase::recordSuccess()

      queue<T> Q(SIZE); // la cola "Q" está vacía ==> no tiene "front()"
      try {
          Q.front();  // Es incorrecto usar un valor de la cola si la cola está vacía
          TEST_ERROR("Q.front();"); // Fallaría si "front()" no levanta la excepción
       }
       catch (std::logic_error&) {
          TEST_SUCCESS(); // Esto es lo correcto pues "front()" levanta "logic_error" para unca cola vacía
      }

Definición en la línea 242 del archivo ADH_test.h.

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

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

Definición en la línea 251 del archivo ADH_test.h.

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

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

  • Si la prueba tiene éxito invoca el método TestCase::recordSuccess()
  • Si la prueba falla invoca el método TestCase::recordFail()
  • Esta es una una macro que invoca el método TestCase::testThis()
  • Registra el mensaje MSG si la prueba falla.

Definición en la línea 262 del archivo ADH_test.h.

 
#define CPPUNIT_ADH_test  ) 
 

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

Definición en la línea 316 del archivo ADH_test.h.

#define CPPUNIT_ASSERT condition   )     TEST_THIS(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 321 del archivo ADH_test.h.

#define CPPUNIT_ASSERT_MESSAGE message,
condition   )     CPPUNIT_ASSERT(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 325 del archivo ADH_test.h.

#define CPPUNIT_FAIL message   )     TEST_ERROR(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 329 del archivo ADH_test.h.

#define CPPUNIT_ASSERT_EQUAL expected,
actual   )     TEST_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 333 del archivo ADH_test.h.

#define CPPUNIT_ASSERT_EQUAL_MESSAGE message,
expected,
actual   )     TEST_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 337 del archivo ADH_test.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 342 del archivo ADH_test.h.

#define CPPUNIT_ASSERT_THROW expression,
ExceptionType   ) 
 

Valor:

do {                                             \
            bool cpputExceptionThrown_ = false;          \
            try {                                        \
                expression;                              \
            } catch ( const ExceptionType & ) {          \
                cpputExceptionThrown_ = true;            \
            }                                            \
                                                         \
            if ( cpputExceptionThrown_ ) {               \
                break;                                   \
            }                                            \
            TEST_ERROR(                                  \
                "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 347 del archivo ADH_test.h.

#define CPPUNIT_ASSERT_NO_THROW expression   ) 
 

Valor:

do {                                                 \
            try {                                            \
                expression;                                  \
            } catch ( ... ) {                                \
                TEST_ERROR("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 365 del archivo ADH_test.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 376 del archivo ADH_test.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 381 del archivo ADH_test.h.

 
#define JUnit_ADH_test  ) 
 

Definición en la línea 387 del archivo ADH_test.h.

#define assertEquals EXPECTED,
ACTUAL   )     TEST_EQUAL(EXPECTED, ACTUAL)
 

[JUnit] Macros propios de JUnit http://junit.sourceforge.net/javadoc/junit/framework/Assert.html Asserts that two objects are equal.

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

Definición en la línea 393 del archivo ADH_test.h.

#define assertEquals_Msg MSG,
EXPECTED,
ACTUAL   )     TEST_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 396 del archivo ADH_test.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 400 del archivo ADH_test.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 403 del archivo ADH_test.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 407 del archivo ADH_test.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 410 del archivo ADH_test.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 415 del archivo ADH_test.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 421 del archivo ADH_test.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 427 del archivo ADH_test.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 430 del archivo ADH_test.h.

#define assertSame THIS,
THAT   )     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 434 del archivo ADH_test.h.

#define assertNotSame THIS,
THAT   )     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 437 del archivo ADH_test.h.

 
#define fail  )     TEST_ERROR("ERROR")
 

[JUnit] Fails a test with no message.

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

Definición en la línea 441 del archivo ADH_test.h.

#define fail_Msg MSG   )     TEST_ERROR(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 444 del archivo ADH_test.h.


Documentación de las funciones

std::ostream& operator<< std::ostream &  COUT,
const TestCase test
 

Operación de grabado que permite reportar el resultado de la prueba test.

  • Graba en COUT el nombre, cantidad de éxitos y cantidad de errores.

Definición en la línea 267 del archivo ADH_test.h.

long Report std::ostream &  COUT,
const TestCase test
[inline]
 

Graba en "COUT" el resultado de la prueba test.

  • Retorna la cantidad total de errores test.nError().
  • Además, graba la cantidad de pruebas exitosas y erróneas.
  • Si hubo pruebas no exitosas, graba los mensajes de error correspondientes.

Definición en la línea 278 del archivo ADH_test.h.

template<class T>
bool check_ok const T &   ) 
 

Declaración genérica para check_ok().

bool check_ok const signed char &   )  [inline]
 

check_ok<>()

Definición en la línea 295 del archivo ADH_test.h.

bool check_ok const unsigned char &   )  [inline]
 

check_ok<>()

Definición en la línea 296 del archivo ADH_test.h.

bool check_ok const signed int &   )  [inline]
 

check_ok<>()

Definición en la línea 297 del archivo ADH_test.h.

bool check_ok const unsigned int &   )  [inline]
 

check_ok<>()

Definición en la línea 298 del archivo ADH_test.h.

bool check_ok const signed long &   )  [inline]
 

check_ok<>()

Definición en la línea 299 del archivo ADH_test.h.

bool check_ok const unsigned long &   )  [inline]
 

check_ok<>()

Definición en la línea 300 del archivo ADH_test.h.

bool check_ok const float &   )  [inline]
 

check_ok<>()

Definición en la línea 301 del archivo ADH_test.h.

bool check_ok const double &   )  [inline]
 

check_ok<>()

Definición en la línea 302 del archivo ADH_test.h.

bool check_ok const long double &   )  [inline]
 

check_ok<>()

Definición en la línea 303 del archivo ADH_test.h.

template<class T>
std::string toString const T &  val  ) 
 

Retorna una hilera que contiene el valor de val.

Definición en la línea 308 del archivo ADH_test.h.


Generado el Thu Sep 20 12:33:06 2007 para Clase decimal: por  doxygen 1.4.1
Hosted by www.Geocities.ws

1