Next: , Previous: , Up: conditions assertion   [Contents][Index]


8.6.24 Expected double–precision floating point assertions

The expected double–precision floating point assertion exceptional–condition object–type is used by CCTests to signal failure in an asserting that a specific double–precision floating point value was expected as result of an expression. We can only derive new types from it and instantiate it. To catch this exceptional condition we can do:

cce_location_t        L[1];

if (cce_location(L)) {
  if (cctests_condition_is_assertion_expected_double(cce_condition(L))) {
    CCTESTS_PC(cctests_condition_assertion_expected_double_t, C, cce_condition(L));
    do_something_with(C);
  }
  cce_run_catch_handlers_final(L);
} else {
  do_something(L);
  cce_run_body_handlers(L);
}
Struct Typedef: cctests_descriptor_assertion_expected_double_t

Type of data structure representing the exceptional–condition descriptor. It has the following public fields:

cce_descriptor_t descriptor

The condition descriptor’s base values.

The parent of this type descriptor is the one referenced by cctests_descriptor_assertion_expected_value_ptr, Expected value assertions.

Struct Typedef: cctests_condition_assertion_expected_double_t

Type of data structure representing the exceptional–condition object. It has the following public fields:

cctests_condition_assertion_expected_value_t assertion_expected_value

The base value.

double expected

The expected value.

double result

The resulting value.

Function: void cce_descriptor_set_parent_to(cctests_condition_assertion_expected_double_t) (cce_descriptor_t * const D)

Set the parent of the descriptor referenced by D to the descriptor of the exceptional–condition object–type cctests_condition_assertion_expected_double_t.

Function: void cctests_condition_init_assertion_expected_double (cctests_condition_assertion_expected_double_t * C, double expected, double result, char const * expr, char const * filename, char const * funcname, int linenum, char const * message)

Initialisation function for the condition object. This function is meant to be called from the initialisation function of sub–types of cctests_condition_assertion_expected_double_t. If an error occurs building the instance: raise an exception by performing a non–local exit to L.

The strings referenced by expr, filename, funcname are not duplicated. The argument message is either NULL or a pointer to an ASCIIZ message string allocated using the standard allocator; the ownership of this string is transferred to the exceptional–condition object.

Function: void cctests_condition_new_assertion_expected_double (cce_destination_t L, cctests_condition_assertion_expected_double_t * C, double expected, double result, char const * expr, char const * filename, char const * funcname, int linenum, char const * message)

Build and return a new exceptional condition object. If an error occurs building the instance: raise an exception by performing a non–local exit to L.

The strings referenced by expr, filename, funcname are not duplicated. The argument message is either NULL or a pointer to an ASCIIZ message string allocated using the standard allocator; the ownership of this string is transferred to the exceptional–condition object.

Function: bool cctests_condition_is_assertion_expected_double (cce_condition_t const * C)

Return true if C if of type cctests_condition_assertion_expected_double_t; otherwise return false.


Next: , Previous: , Up: conditions assertion   [Contents][Index]

This document describes version 0.4.1-devel.1 of CCTests.