diff --git a/tests/unittests/tests-fmt/tests-fmt.c b/tests/unittests/tests-fmt/tests-fmt.c index 6e9a4f1f9b71a92be6712a15616977ed9f58bf88..ad5cb4a178ac797afd0d23a10b395c4cf4359e31 100644 --- a/tests/unittests/tests-fmt/tests-fmt.c +++ b/tests/unittests/tests-fmt/tests-fmt.c @@ -120,6 +120,42 @@ static void test_fmt_s32_dec(void) TEST_ASSERT_EQUAL_STRING("-9876", (char *) out); } +static void test_fmt_u64_dec_a(void) +{ + char out[21] = "------------------"; + uint64_t val = 0; + uint8_t chars = 0; + + chars = fmt_u64_dec(out, val); + TEST_ASSERT_EQUAL_INT(1, chars); + out[chars] = '\0'; + TEST_ASSERT_EQUAL_STRING("0", (char *) out); +} + +static void test_fmt_u64_dec_b(void) +{ + char out[21] = "--------------------"; + uint64_t val = 18446744073709551615LLU; + uint8_t chars = 0; + + chars = fmt_u64_dec(out, val); + TEST_ASSERT_EQUAL_INT(20, chars); + out[chars] = '\0'; + TEST_ASSERT_EQUAL_STRING("18446744073709551615", (char *) out); +} + +static void test_fmt_u64_dec_c(void) +{ + char out[21] = "--------------------"; + uint64_t val = 1234567890123456789LLU; + uint8_t chars = 0; + + chars = fmt_u64_dec(out, val); + TEST_ASSERT_EQUAL_INT(19, chars); + out[chars] = '\0'; + TEST_ASSERT_EQUAL_STRING("1234567890123456789", (char *) out); +} + static void test_rmt_s16_dec(void) { char out[7] = "-------"; @@ -247,6 +283,9 @@ Test *tests_fmt_tests(void) new_TestFixture(test_fmt_u32_hex), new_TestFixture(test_fmt_u64_hex), new_TestFixture(test_fmt_u32_dec), + new_TestFixture(test_fmt_u64_dec_a), + new_TestFixture(test_fmt_u64_dec_b), + new_TestFixture(test_fmt_u64_dec_c), new_TestFixture(test_fmt_u16_dec), new_TestFixture(test_fmt_s32_dec), new_TestFixture(test_rmt_s16_dec),