#include #include #include "test_main.h" static TestCase tests[] = { TEST_ENTRY(test_NumberTest_availability), TEST_ENTRY(test_NumberTest_command_none), TEST_ENTRY(test_NumberTest_command_number_float_p1), TEST_ENTRY(test_NumberTest_command_number_float_p2), TEST_ENTRY(test_NumberTest_command_number_float_p3), TEST_ENTRY(test_NumberTest_command_number_invalid), TEST_ENTRY(test_NumberTest_command_number_signed), TEST_ENTRY(test_NumberTest_command_number_unsigned), TEST_ENTRY(test_NumberTest_command_number_zero), TEST_ENTRY(test_NumberTest_command_subscription), TEST_ENTRY(test_NumberTest_callback_publish_is_deferred_until_after_dispatch), TEST_ENTRY(test_NumberTest_current_state_setter_getter_float), TEST_ENTRY(test_NumberTest_current_state_setter_getter_int16), TEST_ENTRY(test_NumberTest_current_state_setter_getter_int32), TEST_ENTRY(test_NumberTest_current_state_setter_getter_int8), TEST_ENTRY(test_NumberTest_current_state_setter_getter_uint16), TEST_ENTRY(test_NumberTest_current_state_setter_getter_uint32), TEST_ENTRY(test_NumberTest_current_state_setter_getter_uint8), TEST_ENTRY(test_NumberTest_default_entity_id_setter), TEST_ENTRY(test_NumberTest_default_params), TEST_ENTRY(test_NumberTest_device_class), TEST_ENTRY(test_NumberTest_different_number_command), TEST_ENTRY(test_NumberTest_empty_unit_of_measurement_is_ignored), TEST_ENTRY(test_NumberTest_entity_category_setter), TEST_ENTRY(test_NumberTest_extended_unique_id), TEST_ENTRY(test_NumberTest_icon_setter), TEST_ENTRY(test_NumberTest_invalid_unique_id), TEST_ENTRY(test_NumberTest_max_setter_p0), TEST_ENTRY(test_NumberTest_max_setter_p1), TEST_ENTRY(test_NumberTest_max_setter_p2), TEST_ENTRY(test_NumberTest_max_setter_p3), TEST_ENTRY(test_NumberTest_min_can_equal_max), TEST_ENTRY(test_NumberTest_min_setter_p0), TEST_ENTRY(test_NumberTest_min_setter_p1), TEST_ENTRY(test_NumberTest_min_setter_p2), TEST_ENTRY(test_NumberTest_min_setter_p3), TEST_ENTRY(test_NumberTest_mode_setter_box), TEST_ENTRY(test_NumberTest_mode_setter_slider), TEST_ENTRY(test_NumberTest_name_setter), TEST_ENTRY(test_NumberTest_object_id_setter), TEST_ENTRY(test_NumberTest_optimistic_setter), TEST_ENTRY(test_NumberTest_publish_nothing_if_retained), TEST_ENTRY(test_NumberTest_publish_state_none), TEST_ENTRY(test_NumberTest_retain_setter), TEST_ENTRY(test_NumberTest_set_state_float_p1), TEST_ENTRY(test_NumberTest_set_state_float_p2), TEST_ENTRY(test_NumberTest_set_state_float_p3), TEST_ENTRY(test_NumberTest_set_state_int16), TEST_ENTRY(test_NumberTest_set_state_int32), TEST_ENTRY(test_NumberTest_set_state_int8), TEST_ENTRY(test_NumberTest_set_state_uint16), TEST_ENTRY(test_NumberTest_set_state_uint32), TEST_ENTRY(test_NumberTest_set_state_uint8), TEST_ENTRY(test_NumberTest_step_setter_p0), TEST_ENTRY(test_NumberTest_step_setter_p1), TEST_ENTRY(test_NumberTest_step_setter_p2), TEST_ENTRY(test_NumberTest_step_setter_p3), TEST_ENTRY(test_NumberTest_unit_of_measurement_setter), TEST_ENTRY(test_NumberTest_update_min_max_step_before_connect), TEST_ENTRY(test_NumberTest_update_min_max_step_republishes_config), TEST_ENTRY(test_NumberTest_update_min_max_step_republishes_device_discovery_when_enabled), TEST_ENTRY(test_NumericTest_calculate_float_p1_large), TEST_ENTRY(test_NumericTest_calculate_float_p1_medium), TEST_ENTRY(test_NumericTest_calculate_float_p1_small), TEST_ENTRY(test_NumericTest_calculate_float_p1_unsigned), TEST_ENTRY(test_NumericTest_calculate_float_p1_zero), TEST_ENTRY(test_NumericTest_calculate_float_p1_zero_signed), TEST_ENTRY(test_NumericTest_calculate_float_p1_zero_unsigned), TEST_ENTRY(test_NumericTest_calculate_float_p2_large), TEST_ENTRY(test_NumericTest_calculate_float_p2_medium), TEST_ENTRY(test_NumericTest_calculate_float_p2_small), TEST_ENTRY(test_NumericTest_calculate_float_p2_unsigned), TEST_ENTRY(test_NumericTest_calculate_float_p2_zero), TEST_ENTRY(test_NumericTest_calculate_float_p2_zero_signed), TEST_ENTRY(test_NumericTest_calculate_float_p2_zero_unsigned), TEST_ENTRY(test_NumericTest_calculate_float_p2_zero_with_padding), TEST_ENTRY(test_NumericTest_calculate_float_p3_large), TEST_ENTRY(test_NumericTest_calculate_float_p3_medium), TEST_ENTRY(test_NumericTest_calculate_float_p3_small), TEST_ENTRY(test_NumericTest_calculate_float_p3_unsigned), TEST_ENTRY(test_NumericTest_calculate_float_p3_zero), TEST_ENTRY(test_NumericTest_calculate_float_p3_zero_signed), TEST_ENTRY(test_NumericTest_calculate_float_p3_zero_unsigned), TEST_ENTRY(test_NumericTest_calculate_float_p3_zero_with_padding), TEST_ENTRY(test_NumericTest_calculate_number_signed_four_digits), TEST_ENTRY(test_NumericTest_calculate_number_signed_one_digit), TEST_ENTRY(test_NumericTest_calculate_number_signed_three_digits), TEST_ENTRY(test_NumericTest_calculate_number_signed_two_digits), TEST_ENTRY(test_NumericTest_calculate_number_unsigned_four_digits), TEST_ENTRY(test_NumericTest_calculate_number_unsigned_one_digit), TEST_ENTRY(test_NumericTest_calculate_number_unsigned_three_digits), TEST_ENTRY(test_NumericTest_calculate_number_unsigned_two_digits), TEST_ENTRY(test_NumericTest_calculate_number_zero), TEST_ENTRY(test_NumericTest_number_to_float_1), TEST_ENTRY(test_NumericTest_number_to_float_2), TEST_ENTRY(test_NumericTest_number_to_float_3), TEST_ENTRY(test_NumericTest_number_to_float_4), TEST_ENTRY(test_NumericTest_number_to_float_5), TEST_ENTRY(test_NumericTest_number_to_str_float_p0_large), TEST_ENTRY(test_NumericTest_number_to_str_float_p0_signed), TEST_ENTRY(test_NumericTest_number_to_str_float_p0_small), TEST_ENTRY(test_NumericTest_number_to_str_float_p0_zero), TEST_ENTRY(test_NumericTest_number_to_str_float_p1_large), TEST_ENTRY(test_NumericTest_number_to_str_float_p1_medium), TEST_ENTRY(test_NumericTest_number_to_str_float_p1_signed), TEST_ENTRY(test_NumericTest_number_to_str_float_p1_small), TEST_ENTRY(test_NumericTest_number_to_str_float_p1_zero), TEST_ENTRY(test_NumericTest_number_to_str_float_p1_zero_decimal), TEST_ENTRY(test_NumericTest_number_to_str_float_p1_zero_decimal_signed), TEST_ENTRY(test_NumericTest_number_to_str_float_p2_large), TEST_ENTRY(test_NumericTest_number_to_str_float_p2_medium), TEST_ENTRY(test_NumericTest_number_to_str_float_p2_signed), TEST_ENTRY(test_NumericTest_number_to_str_float_p2_small), TEST_ENTRY(test_NumericTest_number_to_str_float_p2_zero), TEST_ENTRY(test_NumericTest_number_to_str_float_p2_zero_decimal), TEST_ENTRY(test_NumericTest_number_to_str_float_p2_zero_decimal_signed), TEST_ENTRY(test_NumericTest_number_to_str_float_p2_zero_with_padding), TEST_ENTRY(test_NumericTest_number_to_str_float_p3_large), TEST_ENTRY(test_NumericTest_number_to_str_float_p3_medium), TEST_ENTRY(test_NumericTest_number_to_str_float_p3_signed), TEST_ENTRY(test_NumericTest_number_to_str_float_p3_small), TEST_ENTRY(test_NumericTest_number_to_str_float_p3_zero), TEST_ENTRY(test_NumericTest_number_to_str_float_p3_zero_decimal), TEST_ENTRY(test_NumericTest_number_to_str_float_p3_zero_decimal_signed), TEST_ENTRY(test_NumericTest_number_to_str_float_p3_zero_with_padding), TEST_ENTRY(test_NumericTest_number_to_str_int16_p0), TEST_ENTRY(test_NumericTest_number_to_str_int16_p1), TEST_ENTRY(test_NumericTest_number_to_str_int16_p2), TEST_ENTRY(test_NumericTest_number_to_str_int16_p3), TEST_ENTRY(test_NumericTest_number_to_str_int32_p0), TEST_ENTRY(test_NumericTest_number_to_str_int32_p1), TEST_ENTRY(test_NumericTest_number_to_str_int32_p2), TEST_ENTRY(test_NumericTest_number_to_str_int32_p3), TEST_ENTRY(test_NumericTest_number_to_str_int8_p0), TEST_ENTRY(test_NumericTest_number_to_str_int8_p1), TEST_ENTRY(test_NumericTest_number_to_str_int8_p2), TEST_ENTRY(test_NumericTest_number_to_str_int8_p3), TEST_ENTRY(test_NumericTest_number_to_str_uint16_p0), TEST_ENTRY(test_NumericTest_number_to_str_uint16_p1), TEST_ENTRY(test_NumericTest_number_to_str_uint16_p2), TEST_ENTRY(test_NumericTest_number_to_str_uint16_p3), TEST_ENTRY(test_NumericTest_number_to_str_uint32_p0), TEST_ENTRY(test_NumericTest_number_to_str_uint32_p1), TEST_ENTRY(test_NumericTest_number_to_str_uint32_p2), TEST_ENTRY(test_NumericTest_number_to_str_uint32_p3), TEST_ENTRY(test_NumericTest_number_to_str_uint8_p0), TEST_ENTRY(test_NumericTest_number_to_str_uint8_p1), TEST_ENTRY(test_NumericTest_number_to_str_uint8_p2), TEST_ENTRY(test_NumericTest_number_to_str_uint8_p3), TEST_ENTRY(test_NumericTest_number_to_str_zero_p0), TEST_ENTRY(test_NumericTest_number_to_str_zero_p1), TEST_ENTRY(test_NumericTest_number_to_str_zero_p2), TEST_ENTRY(test_NumericTest_number_to_str_zero_p3), TEST_ENTRY(test_NumericTest_str_to_number_invalid_0), TEST_ENTRY(test_NumericTest_str_to_number_invalid_1), TEST_ENTRY(test_NumericTest_str_to_number_invalid_2), TEST_ENTRY(test_NumericTest_str_to_number_invalid_3), TEST_ENTRY(test_NumericTest_str_to_number_max), TEST_ENTRY(test_NumericTest_str_to_number_min), TEST_ENTRY(test_NumericTest_str_to_number_null), TEST_ENTRY(test_NumericTest_str_to_number_signed_0), TEST_ENTRY(test_NumericTest_str_to_number_signed_1), TEST_ENTRY(test_NumericTest_str_to_number_signed_10), TEST_ENTRY(test_NumericTest_str_to_number_signed_11), TEST_ENTRY(test_NumericTest_str_to_number_signed_12), TEST_ENTRY(test_NumericTest_str_to_number_signed_13), TEST_ENTRY(test_NumericTest_str_to_number_signed_14), TEST_ENTRY(test_NumericTest_str_to_number_signed_15), TEST_ENTRY(test_NumericTest_str_to_number_signed_2), TEST_ENTRY(test_NumericTest_str_to_number_signed_3), TEST_ENTRY(test_NumericTest_str_to_number_signed_4), TEST_ENTRY(test_NumericTest_str_to_number_signed_5), TEST_ENTRY(test_NumericTest_str_to_number_signed_6), TEST_ENTRY(test_NumericTest_str_to_number_signed_7), TEST_ENTRY(test_NumericTest_str_to_number_signed_8), TEST_ENTRY(test_NumericTest_str_to_number_signed_9), TEST_ENTRY(test_NumericTest_str_to_number_signed_overflow), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_0), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_1), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_10), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_11), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_12), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_13), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_14), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_15), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_2), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_3), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_4), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_5), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_6), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_7), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_8), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_9), TEST_ENTRY(test_NumericTest_str_to_number_unsigned_overflow), TEST_ENTRY(test_NumericTest_str_to_number_zero), TEST_ENTRY(test_SelectTest_availability), TEST_ENTRY(test_SelectTest_command_option_first), TEST_ENTRY(test_SelectTest_command_option_last), TEST_ENTRY(test_SelectTest_command_option_middle), TEST_ENTRY(test_SelectTest_command_option_non_existing), TEST_ENTRY(test_SelectTest_command_subscription), TEST_ENTRY(test_SelectTest_current_state_getter), TEST_ENTRY(test_SelectTest_different_select_command), TEST_ENTRY(test_SelectTest_extended_unique_id), TEST_ENTRY(test_SelectTest_icon_setter), TEST_ENTRY(test_SelectTest_invalid_options_empty), TEST_ENTRY(test_SelectTest_invalid_options_nullptr), TEST_ENTRY(test_SelectTest_invalid_unique_id), TEST_ENTRY(test_SelectTest_long_options_string_over_255_chars), TEST_ENTRY(test_SelectTest_multiple_options), TEST_ENTRY(test_SelectTest_name_setter), TEST_ENTRY(test_SelectTest_no_options), TEST_ENTRY(test_SelectTest_object_id_setter), TEST_ENTRY(test_SelectTest_optimistic_setter), TEST_ENTRY(test_SelectTest_publish_last_known_state), TEST_ENTRY(test_SelectTest_publish_nothing_if_retained), TEST_ENTRY(test_SelectTest_publish_state_debounce), TEST_ENTRY(test_SelectTest_publish_state_debounce_skip), TEST_ENTRY(test_SelectTest_publish_state_first), TEST_ENTRY(test_SelectTest_publish_state_last), TEST_ENTRY(test_SelectTest_publish_state_none), TEST_ENTRY(test_SelectTest_publish_state_only), TEST_ENTRY(test_SelectTest_retain_setter), TEST_ENTRY(test_SelectTest_single_option), TEST_ENTRY(test_SelectTest_callback_publish_is_deferred_until_after_dispatch), }; static const size_t TEST_COUNT = sizeof(tests) / sizeof(tests[0]); static size_t next_index = 0; static bool begun = false; void setUp(void) { } void tearDown(void) { } void setup() { Serial.begin(115200); delay(500); UNITY_BEGIN(); begun = true; } void loop() { if (begun && next_index < TEST_COUNT) { TestCase& t = tests[next_index]; Serial.print("\n[TEST] "); Serial.println(t.name); UnityDefaultTestRun(t.fn, t.name, t.line); next_index++; return; } if (begun && next_index >= TEST_COUNT) { UNITY_END(); begun = false; } }