1 #include "CppUTest/TestHarness.h" 2 #include "CppUTest/CommandLineTestRunner.h" 3 4 #include "hci_event.h" 5 #include "btstack_util.h" 6 7 uint8_t hci_event_buffer[257]; 8 hci_event_t event_1 = { 1, 0, "1"}; 9 hci_event_t event_2 = { 1, 0, "2"}; 10 hci_event_t event_3 = { 1, 0, "3"}; 11 hci_event_t event_4 = { 1, 0, "4"}; 12 13 static uint16_t create_hci_event(const hci_event_t *event, ...){ 14 va_list argptr; 15 va_start(argptr, event); 16 uint16_t len = hci_event_create_from_template_and_arglist(hci_event_buffer, sizeof(hci_event_buffer), event, argptr); 17 va_end(argptr); 18 return len - 2; 19 } 20 21 TEST_GROUP(hci_event){ 22 void setup(void){ 23 } 24 void teardown(void){ 25 } 26 }; 27 28 TEST(hci_event, format_1){ 29 const uint8_t expected_buffer[] = { 0x55}; 30 uint8_t value = 0x55; 31 uint16_t size = create_hci_event(&event_1, value); 32 CHECK_EQUAL(sizeof(expected_buffer), size); 33 MEMCMP_EQUAL(expected_buffer, &hci_event_buffer[2], sizeof(expected_buffer)); 34 } 35 36 TEST(hci_event, format_2){ 37 const uint8_t expected_buffer[] = { 0x34, 0x12 }; 38 uint16_t value = 0x1234; 39 uint16_t size = create_hci_event(&event_2, value); 40 CHECK_EQUAL(sizeof(expected_buffer), size); 41 MEMCMP_EQUAL(expected_buffer, &hci_event_buffer[2], sizeof(expected_buffer)); 42 } 43 44 TEST(hci_event, format_3){ 45 const uint8_t expected_buffer[] = { 0x56, 0x34, 0x12}; 46 uint32_t value = 0x123456; 47 uint16_t size = create_hci_event(&event_3, value); 48 CHECK_EQUAL(sizeof(expected_buffer), size); 49 MEMCMP_EQUAL(expected_buffer, &hci_event_buffer[2], sizeof(expected_buffer)); 50 } 51 52 TEST(hci_event, format_4){ 53 const uint8_t expected_buffer[] = { 0x78, 0x56, 0x34, 0x12}; 54 uint32_t value = 0x12345678; 55 uint16_t size = create_hci_event(&event_4, value); 56 CHECK_EQUAL(sizeof(expected_buffer), size); 57 MEMCMP_EQUAL(expected_buffer, &hci_event_buffer[2], sizeof(expected_buffer)); 58 } 59 60 int main (int argc, const char * argv[]){ 61 return CommandLineTestRunner::RunAllTests(argc, argv); 62 } 63