From 16516d94b614b496ef32346fc8770ccc0fc02afc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nils=20O=2E=20Sel=C3=A5sdal?= Date: Sun, 7 Jul 2013 03:17:34 +0200 Subject: [PATCH] Add test for human_bytesz --- test/test_human_bytesz.c | 84 ++++++++++++++++++++++++++++++++++++++++ test/test_runner.c | 4 +- 2 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 test/test_human_bytesz.c diff --git a/test/test_human_bytesz.c b/test/test_human_bytesz.c new file mode 100644 index 0000000..86da611 --- /dev/null +++ b/test/test_human_bytesz.c @@ -0,0 +1,84 @@ +#include +#include + + +START_TEST (test_human_bytesz_bytes) + char result[128]; + char *rc; + + rc = uc_human_bytesz(999, result, sizeof result); + fail_if(rc == NULL); + ck_assert_str_eq(result, "999 b"); +END_TEST + +START_TEST (test_human_bytesz_bytes_0) + char result[128]; + char *rc; + + rc = uc_human_bytesz(0, result, sizeof result); + fail_if(rc == NULL); + ck_assert_str_eq(result, "0 b"); +END_TEST + +START_TEST (test_human_bytesz_kilobytes) + char result[128]; + char *rc; + + rc = uc_human_bytesz(64000, result, sizeof result); + fail_if(rc == NULL); + ck_assert_str_eq(result, "64.00 kB"); +END_TEST + +START_TEST (test_human_bytesz_megabytes) + char result[128]; + char *rc; + + rc = uc_human_bytesz(6409000, result, sizeof result); + fail_if(rc == NULL); + ck_assert_str_eq(result, "6.41 MB"); +END_TEST + +START_TEST (test_human_bytesz_gigabytes) + char result[128]; + char *rc; + + rc = uc_human_bytesz(126999400000, result, sizeof result); + fail_if(rc == NULL); + ck_assert_str_eq(result, "127.00 GB"); +END_TEST + +START_TEST (test_human_bytesz_terrabytes) + char result[128]; + char *rc; + + rc = uc_human_bytesz(12453400030000, result, sizeof result); + fail_if(rc == NULL); + ck_assert_str_eq(result, "12.45 TB"); +END_TEST + +START_TEST (test_human_bytesz_petabytes) + char result[128]; + char *rc; + + rc = uc_human_bytesz(~0LL, result, sizeof result); + fail_if(rc == NULL); + ck_assert_str_eq(result, "18446.74 PB"); +END_TEST + + +Suite *human_bytesz_suite(void) +{ + Suite *s = suite_create("human_bytesz"); + TCase *tc = tcase_create("human_bytesz tests"); + tcase_add_test(tc, test_human_bytesz_bytes); + tcase_add_test(tc, test_human_bytesz_bytes_0); + tcase_add_test(tc, test_human_bytesz_kilobytes); + tcase_add_test(tc, test_human_bytesz_megabytes); + tcase_add_test(tc, test_human_bytesz_terrabytes); + tcase_add_test(tc, test_human_bytesz_petabytes); + + suite_add_tcase(s, tc); + + return s; +} + diff --git a/test/test_runner.c b/test/test_runner.c index d85129a..37483aa 100644 --- a/test/test_runner.c +++ b/test/test_runner.c @@ -19,6 +19,7 @@ extern Suite *clock_suite(void); extern Suite *seq_suite(void); extern Suite *sat_math_suite(void); extern Suite *timers_suite(void); +extern Suite *human_bytesz_suite(void); static suite_func suites[] = { bitvec_suite, @@ -33,7 +34,8 @@ static suite_func suites[] = { clock_suite, seq_suite, sat_math_suite, - timers_suite + timers_suite, + human_bytesz_suite }; int