/usr/share/doc/check/examples/tests/check_money.c is in check 0.10.0-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | #include <config.h>
#include <stdlib.h>
#include <stdint.h>
#include <check.h>
#include "../src/money.h"
Money *five_dollars;
void setup(void)
{
five_dollars = money_create(5, "USD");
}
void teardown(void)
{
money_free(five_dollars);
}
START_TEST(test_money_create)
{
ck_assert_int_eq(money_amount(five_dollars), 5);
ck_assert_str_eq(money_currency(five_dollars), "USD");
}
END_TEST
START_TEST(test_money_create_neg)
{
Money *m = money_create(-1, "USD");
ck_assert_msg(m == NULL,
"NULL should be returned on attempt to create with "
"a negative amount");
}
END_TEST
START_TEST(test_money_create_zero)
{
Money *m = money_create(0, "USD");
if (money_amount(m) != 0)
{
ck_abort_msg("Zero is a valid amount of money");
}
}
END_TEST
Suite * money_suite(void)
{
Suite *s;
TCase *tc_core;
TCase *tc_limits;
s = suite_create("Money");
/* Core test case */
tc_core = tcase_create("Core");
tcase_add_checked_fixture(tc_core, setup, teardown);
tcase_add_test(tc_core, test_money_create);
suite_add_tcase(s, tc_core);
/* Limits test case */
tc_limits = tcase_create("Limits");
tcase_add_test(tc_limits, test_money_create_neg);
tcase_add_test(tc_limits, test_money_create_zero);
suite_add_tcase(s, tc_limits);
return s;
}
int main(void)
{
int number_failed;
Suite *s;
SRunner *sr;
s = money_suite();
sr = srunner_create(s);
srunner_run_all(sr, CK_NORMAL);
number_failed = srunner_ntests_failed(sr);
srunner_free(sr);
return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
}
|