initial
This commit is contained in:
1040
tests/greatest.h
Normal file
1040
tests/greatest.h
Normal file
File diff suppressed because it is too large
Load Diff
103
tests/test.c
Normal file
103
tests/test.c
Normal file
@@ -0,0 +1,103 @@
|
||||
#include "greatest.h"
|
||||
#include "../nibble.h"
|
||||
|
||||
TEST bcd_zeros_is_zero() {
|
||||
bcd x = bcd_zeros();
|
||||
|
||||
for (int i = 0; i < 10; i++) ASSERT_EQ_FMT(0, x.internal[i], "%d");
|
||||
PASS();
|
||||
}
|
||||
|
||||
TEST bcd_zeros_length_zero() {
|
||||
bcd x = bcd_zeros();
|
||||
|
||||
ASSERT_EQ_FMT(0, bcd_digits(x), "%d");
|
||||
PASS();
|
||||
}
|
||||
|
||||
TEST bcd_8_length_3() {
|
||||
bcd x = bcd_from_8(((uint8_t)0)-1);
|
||||
|
||||
ASSERT_EQ_FMT(3, bcd_digits(x), "%d");
|
||||
PASS();
|
||||
}
|
||||
|
||||
TEST bcd_16_length_5() {
|
||||
bcd x = bcd_from_16(((uint16_t)0)-1);
|
||||
|
||||
ASSERT_EQ_FMT(5, bcd_digits(x), "%d");
|
||||
PASS();
|
||||
}
|
||||
|
||||
TEST bcd_32_length_10() {
|
||||
bcd x = bcd_from_32(((uint32_t)0)-1);
|
||||
|
||||
ASSERT_EQ_FMT(10, bcd_digits(x), "%d");
|
||||
PASS();
|
||||
}
|
||||
|
||||
TEST bcd_64_length_20() {
|
||||
bcd x = bcd_from_64(((uint64_t)0)-1);
|
||||
|
||||
ASSERT_EQ_FMT(20, bcd_digits(x), "%d");
|
||||
PASS();
|
||||
}
|
||||
|
||||
TEST bcd_8_and_back() {
|
||||
bcd x = bcd_from_8(((uint8_t)0)-1);
|
||||
|
||||
ASSERT_EQ_FMT(255llu, bcd_to_64(x), "%llu");
|
||||
PASS();
|
||||
}
|
||||
|
||||
TEST bcd_16_and_back() {
|
||||
bcd x = bcd_from_16(((uint16_t)0)-1);
|
||||
|
||||
ASSERT_EQ_FMT(65535llu, bcd_to_64(x), "%llu");
|
||||
PASS();
|
||||
}
|
||||
|
||||
TEST bcd_32_and_back() {
|
||||
bcd x = bcd_from_32(((uint32_t)0)-1);
|
||||
|
||||
ASSERT_EQ_FMT(4294967295llu, bcd_to_64(x), "%llu");
|
||||
PASS();
|
||||
}
|
||||
|
||||
TEST bcd_64_and_back() {
|
||||
bcd x = bcd_from_64(((uint64_t)0)-1);
|
||||
|
||||
ASSERT_EQ_FMT(18446744073709551615llu, bcd_to_64(x), "%llu");
|
||||
PASS();
|
||||
}
|
||||
|
||||
TEST bcd_string() {
|
||||
bcd x = bcd_from_64(((uint64_t)0)-1);
|
||||
|
||||
ASSERT_STR_EQ("18446744073709551615", bcd_to_string(x));
|
||||
PASS();
|
||||
}
|
||||
|
||||
SUITE(tests) {
|
||||
RUN_TEST(bcd_zeros_is_zero);
|
||||
RUN_TEST(bcd_zeros_length_zero);
|
||||
RUN_TEST(bcd_8_length_3);
|
||||
RUN_TEST(bcd_16_length_5);
|
||||
RUN_TEST(bcd_32_length_10);
|
||||
RUN_TEST(bcd_64_length_20);
|
||||
RUN_TEST(bcd_8_and_back);
|
||||
RUN_TEST(bcd_16_and_back);
|
||||
RUN_TEST(bcd_32_and_back);
|
||||
RUN_TEST(bcd_64_and_back);
|
||||
RUN_TEST(bcd_string);
|
||||
}
|
||||
|
||||
GREATEST_MAIN_DEFS();
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
GREATEST_MAIN_BEGIN();
|
||||
|
||||
RUN_SUITE(tests);
|
||||
|
||||
GREATEST_MAIN_END();
|
||||
}
|
Reference in New Issue
Block a user