Version 3 (modified by Xiaochen Pan, on 08/23/12 at 07:18:57) (diff) |
---|
TestSuite/framework design
Validity Test
assert_true(condition);
assert_true(condition, message);
assert_false(condition);
assert_false(condition, message)
assert_fail();
assert_fail(message);
Numerical Tests
Integer
assert_int_equal(expected, actual);
assert_int_not_equal(expected, actual)
assert_int_lt(expected, actual); assert actual less than expected
assert_int_le(expected, actual); assert actual less than or equal to expected
assert_int_gt(expected, actual); assert actual greater than expected
assert_int_ge(expected, actual); assert actual greater than or equal to expected
assert_int8_equal(expected, actual); 8 bit integers comparison and display errors as signed integer
assert_int8_not_equal(expected, actual);
assert_uint8_equal(expected, actual); 8 bit integers comparison and display errors as unsigned integer
assert_uint8_not_equal(expected, actual);
assert_int16_equal(expected, actual); 16 bit integers comparison and display errors as signed integer
assert_int16_not_equal(expected, actual);
assert_uint16_equal(expected, actual); 16 bit integers comparison and display errors as unsigned integer
assert_uint16_not_equal(expected, actual);
assert_int32_equal(expected, actual); 32 bit integers comparison and display errors as signed integer
assert_int32_not_equal(expected, actual);
assert_uint32_equal(expected, actual); 32 bit integers comparison and display errors as unsigned integer
assert_uint32_not_equal(expected, actual);
assert_int64_equal(expected, actual); 64 bit integers comparison and display errors as signed integer
assert_int64_not_equal(expected, actual);
assert_uint64_equal(expected, actual); 64 bit integers comparison and display errors as unsigned integer
assert_uint64_not_equal(expected, actual);
assert_int_within(delta, expected, actual);
assert_uint_within(delta, expected, actual); test integer is within plus or minus of another integer and display error as unsigned integer
assert_bits(mask, expected, actual); Use an integer mask to specify which bits should be compared between two other integers. High bits in the mask are compared, low bits ignored.
assert_bits_high(mask, actual); Use an integer mask to specify which bits should be inspected to determine if they are all set high.
assert_bits_low(mask, actual); Use an integer mask to specify which bits should be inspected to determine if they are all set high.
assert_bit_high(bit, actual); Test a single bit and verify that it is high.
assert_bit_low(bit, actual); Test a single bit and verify that it is low
Floats
assert_float_equal(expected, actual)
assert_float_not_equal(expected, actual)
assert_float_within(delta, expected, actual)
assert_float_lt(expected, actual) Asserts that the actual value is less than expected within a couple of significant bits
assert_float_le(expected, actual)
assert_float_gt(expected, actual)
assert_float_ge(expected, actual)
assert_double_equal(expected, actual)
assert_double_not_equal(expected, actual)
assert_double_within(delta, expected, actual)
assert_double_lt(expected, actual) Asserts that the actual value is less than expected within a couple of significant bits
assert_double_le(expected, actual)
assert_double_gt(expected, actual)
assert_double_ge(expected, actual)
String
assert_string_equal(expected, actual, message)
assert_string_not_equal(expected, actual, message)
Pointer Tests
assert_pointer_null(pointer);
assert_pointer_not_null(pointer):
assert_pointer_equal(expected, actual);
Memory Tests
assert_memory_equal(expected, actual, len);
Run Test Macro
RUN_TEST(func, linenum)
Each Test is run within the macro RUN_TEST. This macro performs necessary setup before the test is called and handles cleanup and result tabulation afterwards. Just pass it the name of the test function to run and the line number the test function starts on (for default error reporting). If you have some special needs, you can override RUN_TEST by defining it to be your own macro before including Unity.h
Death Test Macro
TEST_PROTECT();
TEST_ABOART();
Example:
main() {
if (TEST_PROTECT() == 0) {
MyTest?();
}
}
If MyTest? calls TEST_ABORT, program control will immediately return to TEST_PROTECT with a non-zero return value.
Ignore Test
TEST_IGNORE()
TEST_IGNORE_MESSAGE()