Respect values over 11.1s.

This commit is contained in:
Holger Weber
2026-05-15 00:54:34 +02:00
parent d2ab1369f6
commit 8927a65573
7 changed files with 114 additions and 12 deletions

View File

@@ -13,22 +13,40 @@ void test_adjusts_in_100_ms_steps() {
TEST_ASSERT_EQUAL_UINT16(4700, trbc::adjustTimerMs(5000, -3));
}
void test_adjusts_in_seconds_above_tasmota_threshold() {
TEST_ASSERT_EQUAL_UINT16(11100, trbc::adjustTimerMs(11000, 1));
TEST_ASSERT_EQUAL_UINT16(12000, trbc::adjustTimerMs(11100, 1));
TEST_ASSERT_EQUAL_UINT16(13000, trbc::adjustTimerMs(12000, 1));
TEST_ASSERT_EQUAL_UINT16(12000, trbc::adjustTimerMs(13000, -1));
TEST_ASSERT_EQUAL_UINT16(11100, trbc::adjustTimerMs(12000, -1));
}
void test_adjustment_stays_in_range() {
TEST_ASSERT_EQUAL_UINT16(MIN_TIMER_MS, trbc::adjustTimerMs(MIN_TIMER_MS, -1));
TEST_ASSERT_EQUAL_UINT16(MAX_TIMER_MS, trbc::adjustTimerMs(MAX_TIMER_MS, 1));
}
void test_normalizes_to_tasmota_representable_values() {
TEST_ASSERT_EQUAL_UINT16(5500, trbc::normalizeTimerMs(5450));
TEST_ASSERT_EQUAL_UINT16(12000, trbc::normalizeTimerMs(11400));
TEST_ASSERT_EQUAL_UINT16(12000, trbc::normalizeTimerMs(11500));
}
void test_converts_to_tasmota_pulsetime_units() {
TEST_ASSERT_EQUAL_UINT16(20, trbc::tasmotaPulseTimeValue(2000));
TEST_ASSERT_EQUAL_UINT16(55, trbc::tasmotaPulseTimeValue(5500));
TEST_ASSERT_EQUAL_UINT16(100, trbc::tasmotaPulseTimeValue(10000));
TEST_ASSERT_EQUAL_UINT16(111, trbc::tasmotaPulseTimeValue(11100));
TEST_ASSERT_EQUAL_UINT16(112, trbc::tasmotaPulseTimeValue(12000));
TEST_ASSERT_EQUAL_UINT16(113, trbc::tasmotaPulseTimeValue(13000));
}
int main() {
UNITY_BEGIN();
RUN_TEST(test_clamps_timer_range);
RUN_TEST(test_adjusts_in_100_ms_steps);
RUN_TEST(test_adjusts_in_seconds_above_tasmota_threshold);
RUN_TEST(test_adjustment_stays_in_range);
RUN_TEST(test_normalizes_to_tasmota_representable_values);
RUN_TEST(test_converts_to_tasmota_pulsetime_units);
return UNITY_END();
}