Files
arduino-home-assistant/test/test_entities_basic/test_main.cpp
T
2026-09-02 07:14:20 +10:00

165 lines
7.4 KiB
C++

#include <unity.h>
#include <Arduino.h>
#include "test_main.h"
static TestCase tests[] = {
TEST_ENTRY(test_BinarySensorTest_availability),
TEST_ENTRY(test_BinarySensorTest_default_params),
TEST_ENTRY(test_BinarySensorTest_default_state_false),
TEST_ENTRY(test_BinarySensorTest_default_state_true),
TEST_ENTRY(test_BinarySensorTest_device_class),
TEST_ENTRY(test_BinarySensorTest_entity_category_setter),
TEST_ENTRY(test_BinarySensorTest_expire_after_setter),
TEST_ENTRY(test_BinarySensorTest_expire_after_zero_setter),
TEST_ENTRY(test_BinarySensorTest_extended_unique_id),
TEST_ENTRY(test_BinarySensorTest_icon_setter),
TEST_ENTRY(test_BinarySensorTest_invalid_unique_id),
TEST_ENTRY(test_BinarySensorTest_name_setter),
TEST_ENTRY(test_BinarySensorTest_object_id_setter),
TEST_ENTRY(test_BinarySensorTest_publish_initial_state),
TEST_ENTRY(test_BinarySensorTest_publish_state_debounce),
TEST_ENTRY(test_BinarySensorTest_publish_state_debounce_skip),
TEST_ENTRY(test_BinarySensorTest_disconnected_state_updates_local_shadow),
TEST_ENTRY(test_BinarySensorTest_publish_state_off),
TEST_ENTRY(test_BinarySensorTest_publish_state_on),
TEST_ENTRY(test_ButtonTest_availability),
TEST_ENTRY(test_ButtonTest_command_callback),
TEST_ENTRY(test_ButtonTest_command_subscription),
TEST_ENTRY(test_ButtonTest_default_params),
TEST_ENTRY(test_ButtonTest_device_class),
TEST_ENTRY(test_ButtonTest_different_button_command),
TEST_ENTRY(test_ButtonTest_entity_category_setter),
TEST_ENTRY(test_ButtonTest_extended_unique_id),
TEST_ENTRY(test_ButtonTest_icon_setter),
TEST_ENTRY(test_ButtonTest_invalid_unique_id),
TEST_ENTRY(test_ButtonTest_name_setter),
TEST_ENTRY(test_ButtonTest_no_command_callback),
TEST_ENTRY(test_ButtonTest_object_id_setter),
TEST_ENTRY(test_ButtonTest_retain_setter),
TEST_ENTRY(test_SensorNumberTest_dont_publish_default_value_on_connect),
TEST_ENTRY(test_SensorNumberTest_publish_debounce),
TEST_ENTRY(test_SensorNumberTest_publish_force),
TEST_ENTRY(test_SensorNumberTest_publish_int16),
TEST_ENTRY(test_SensorNumberTest_publish_int32),
TEST_ENTRY(test_SensorNumberTest_publish_int32_signed),
TEST_ENTRY(test_SensorNumberTest_publish_int8),
TEST_ENTRY(test_SensorNumberTest_publish_int_zero),
TEST_ENTRY(test_SensorNumberTest_publish_p0),
TEST_ENTRY(test_SensorNumberTest_publish_p0_zero_signed),
TEST_ENTRY(test_SensorNumberTest_publish_p0_zero_unsigned),
TEST_ENTRY(test_SensorNumberTest_publish_p1),
TEST_ENTRY(test_SensorNumberTest_publish_p1_zero_signed),
TEST_ENTRY(test_SensorNumberTest_publish_p1_zero_unsigned),
TEST_ENTRY(test_SensorNumberTest_publish_p2),
TEST_ENTRY(test_SensorNumberTest_publish_p2_zero_signed),
TEST_ENTRY(test_SensorNumberTest_publish_p2_zero_unsigned),
TEST_ENTRY(test_SensorNumberTest_publish_p3),
TEST_ENTRY(test_SensorNumberTest_publish_p3_smaller),
TEST_ENTRY(test_SensorNumberTest_publish_p3_zero_signed),
TEST_ENTRY(test_SensorNumberTest_publish_p3_zero_unsigned),
TEST_ENTRY(test_SensorNumberTest_publish_precision_mismatch),
TEST_ENTRY(test_SensorNumberTest_disconnected_value_updates_local_shadow),
TEST_ENTRY(test_SensorNumberTest_publish_uint16),
TEST_ENTRY(test_SensorNumberTest_publish_uint32),
TEST_ENTRY(test_SensorNumberTest_publish_uint8),
TEST_ENTRY(test_SensorNumberTest_publish_value_on_connect),
TEST_ENTRY(test_SensorTest_availability),
TEST_ENTRY(test_SensorTest_default_entity_id_setter),
TEST_ENTRY(test_SensorTest_default_params),
TEST_ENTRY(test_SensorTest_device_class_setter),
TEST_ENTRY(test_SensorTest_empty_unit_of_measurement_is_ignored),
TEST_ENTRY(test_SensorTest_entity_category_setter),
TEST_ENTRY(test_SensorTest_expire_after_setter),
TEST_ENTRY(test_SensorTest_expire_after_zero_setter),
TEST_ENTRY(test_SensorTest_extended_unique_id),
TEST_ENTRY(test_SensorTest_force_update_setter),
TEST_ENTRY(test_SensorTest_icon_setter),
TEST_ENTRY(test_SensorTest_invalid_unique_id),
TEST_ENTRY(test_SensorTest_json_attributes_topic),
TEST_ENTRY(test_SensorTest_name_setter),
TEST_ENTRY(test_SensorTest_object_id_setter),
TEST_ENTRY(test_SensorTest_publish_json_attributes),
TEST_ENTRY(test_SensorTest_publish_null_value),
TEST_ENTRY(test_SensorTest_publish_value),
TEST_ENTRY(test_SensorTest_state_class_setter),
TEST_ENTRY(test_SensorTest_unit_of_measurement_setter),
TEST_ENTRY(test_SwitchTest_availability),
TEST_ENTRY(test_SwitchTest_command_off),
TEST_ENTRY(test_SwitchTest_command_on),
TEST_ENTRY(test_SwitchTest_command_subscription),
TEST_ENTRY(test_SwitchTest_callback_publish_is_deferred_until_after_dispatch),
TEST_ENTRY(test_SwitchTest_current_state_setter),
TEST_ENTRY(test_SwitchTest_default_entity_id_setter),
TEST_ENTRY(test_SwitchTest_default_params),
TEST_ENTRY(test_SwitchTest_device_class),
TEST_ENTRY(test_SwitchTest_device_discovery_payload),
TEST_ENTRY(test_SwitchTest_different_switch_command),
TEST_ENTRY(test_SwitchTest_entity_category_setter),
TEST_ENTRY(test_SwitchTest_extended_unique_id),
TEST_ENTRY(test_SwitchTest_icon_setter),
TEST_ENTRY(test_SwitchTest_invalid_unique_id),
TEST_ENTRY(test_SwitchTest_name_setter),
TEST_ENTRY(test_SwitchTest_object_id_setter),
TEST_ENTRY(test_SwitchTest_optimistic_setter),
TEST_ENTRY(test_SwitchTest_publish_last_known_state),
TEST_ENTRY(test_SwitchTest_publish_nothing_if_retained),
TEST_ENTRY(test_SwitchTest_publish_state_off),
TEST_ENTRY(test_SwitchTest_publish_state_on),
TEST_ENTRY(test_SwitchTest_retain_setter),
TEST_ENTRY(test_TextTest_availability),
TEST_ENTRY(test_TextTest_command_callback),
TEST_ENTRY(test_TextTest_command_subscription),
TEST_ENTRY(test_TextTest_default_params),
TEST_ENTRY(test_TextTest_different_text_command),
TEST_ENTRY(test_TextTest_extended_unique_id),
TEST_ENTRY(test_TextTest_icon_setter),
TEST_ENTRY(test_TextTest_invalid_unique_id),
TEST_ENTRY(test_TextTest_min_max_pattern_setters),
TEST_ENTRY(test_TextTest_mode_setter_password),
TEST_ENTRY(test_TextTest_name_setter),
TEST_ENTRY(test_TextTest_object_id_setter),
TEST_ENTRY(test_TextTest_optimistic_setter),
TEST_ENTRY(test_TextTest_publish_last_known_state),
TEST_ENTRY(test_TextTest_publish_nothing_if_retained),
TEST_ENTRY(test_TextTest_publish_state),
TEST_ENTRY(test_TextTest_publish_state_debounce),
TEST_ENTRY(test_TextTest_callback_publish_is_deferred_until_after_dispatch),
TEST_ENTRY(test_TextTest_retain_setter),
TEST_ENTRY(test_TextTest_current_state_is_owned),
TEST_ENTRY(test_TextTest_oversized_state_is_rejected),
TEST_ENTRY(test_TextTest_callback_state_is_owned_after_dispatch),
TEST_ENTRY(test_TextTest_oversized_command_is_ignored),
};
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;
}
}