| #include "unity/unity.h" |
| #define PCRE2_CODE_UNIT_WIDTH 8 |
| #include "pcre2.h" |
|
|
| #include <stdint.h> |
| #include <stdlib.h> |
| #include <string.h> |
|
|
| |
| extern uint32_t test_get_highest_char(uint32_t options); |
|
|
| void setUp(void) { |
| |
| } |
|
|
| void tearDown(void) { |
| |
| } |
|
|
| |
| |
| static const uint32_t EXPECTED_MAX = 0x10FFFFu; |
|
|
| void test_get_highest_char_zero_options(void) { |
| uint32_t result = test_get_highest_char(0u); |
| TEST_ASSERT_EQUAL_HEX32(EXPECTED_MAX, result); |
| } |
|
|
| void test_get_highest_char_with_low_bit_set(void) { |
| |
| uint32_t result = test_get_highest_char(0x00000001u); |
| TEST_ASSERT_EQUAL_HEX32(EXPECTED_MAX, result); |
| } |
|
|
| void test_get_highest_char_with_random_bits(void) { |
| uint32_t result1 = test_get_highest_char(0x12345678u); |
| uint32_t result2 = test_get_highest_char(0x00F0F0F0u); |
| TEST_ASSERT_EQUAL_HEX32(EXPECTED_MAX, result1); |
| TEST_ASSERT_EQUAL_HEX32(EXPECTED_MAX, result2); |
| } |
|
|
| void test_get_highest_char_with_all_bits_set(void) { |
| uint32_t result = test_get_highest_char(0xFFFFFFFFu); |
| TEST_ASSERT_EQUAL_HEX32(EXPECTED_MAX, result); |
| } |
|
|
| void test_get_highest_char_sanity_greater_than_bmp(void) { |
| |
| uint32_t result = test_get_highest_char(0u); |
| TEST_ASSERT_TRUE(result > 0xFFFFu); |
| TEST_ASSERT_EQUAL_HEX32(EXPECTED_MAX, result); |
| } |
|
|
| int main(void) { |
| UNITY_BEGIN(); |
| RUN_TEST(test_get_highest_char_zero_options); |
| RUN_TEST(test_get_highest_char_with_low_bit_set); |
| RUN_TEST(test_get_highest_char_with_random_bits); |
| RUN_TEST(test_get_highest_char_with_all_bits_set); |
| RUN_TEST(test_get_highest_char_sanity_greater_than_bmp); |
| return UNITY_END(); |
| } |