2020-02-03 14:19:43 -08:00
|
|
|
|
|
|
|
#include <Arduino.h>
|
|
|
|
#include <unity.h>
|
2024-05-28 22:27:50 -07:00
|
|
|
#include "../test_utils.h"
|
2020-02-03 14:19:43 -08:00
|
|
|
#include "scheduler.h"
|
|
|
|
|
|
|
|
#define TIMEOUT 1000
|
|
|
|
#define DURATION 1000
|
|
|
|
|
|
|
|
static void emptyCallback(void) { }
|
|
|
|
|
|
|
|
void test_status_off_to_pending_inj1(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-11-23 14:35:43 -08:00
|
|
|
setFuelSchedule(fuelSchedule1, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, fuelSchedule1.Status);
|
|
|
|
}
|
|
|
|
|
|
|
|
void test_status_off_to_pending_inj2(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-11-23 14:35:43 -08:00
|
|
|
setFuelSchedule(fuelSchedule2, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, fuelSchedule2.Status);
|
|
|
|
}
|
|
|
|
|
|
|
|
void test_status_off_to_pending_inj3(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-11-23 14:35:43 -08:00
|
|
|
setFuelSchedule(fuelSchedule3, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, fuelSchedule3.Status);
|
|
|
|
}
|
|
|
|
|
|
|
|
void test_status_off_to_pending_inj4(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-11-23 14:35:43 -08:00
|
|
|
setFuelSchedule(fuelSchedule4, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, fuelSchedule4.Status);
|
|
|
|
}
|
|
|
|
|
2023-03-05 22:23:17 -08:00
|
|
|
#if INJ_CHANNELS >= 5
|
2020-02-03 14:19:43 -08:00
|
|
|
void test_status_off_to_pending_inj5(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-11-23 14:35:43 -08:00
|
|
|
setFuelSchedule(fuelSchedule5, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, fuelSchedule5.Status);
|
|
|
|
}
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
2020-02-03 14:19:43 -08:00
|
|
|
|
2023-03-05 22:23:17 -08:00
|
|
|
#if INJ_CHANNELS >= 6
|
2020-02-03 14:19:43 -08:00
|
|
|
void test_status_off_to_pending_inj6(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-11-23 14:35:43 -08:00
|
|
|
setFuelSchedule(fuelSchedule6, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, fuelSchedule6.Status);
|
|
|
|
}
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
2020-02-03 14:19:43 -08:00
|
|
|
|
2023-03-05 22:23:17 -08:00
|
|
|
#if INJ_CHANNELS >= 7
|
2020-02-03 14:19:43 -08:00
|
|
|
void test_status_off_to_pending_inj7(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-11-23 14:35:43 -08:00
|
|
|
setFuelSchedule(fuelSchedule7, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, fuelSchedule7.Status);
|
|
|
|
}
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
2020-02-03 14:19:43 -08:00
|
|
|
|
2023-03-05 22:23:17 -08:00
|
|
|
#if INJ_CHANNELS >= 8
|
2020-02-03 14:19:43 -08:00
|
|
|
void test_status_off_to_pending_inj8(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-11-23 14:35:43 -08:00
|
|
|
setFuelSchedule(fuelSchedule8, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, fuelSchedule8.Status);
|
|
|
|
}
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
2020-02-03 14:19:43 -08:00
|
|
|
|
|
|
|
|
|
|
|
void test_status_off_to_pending_ign1(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-10-06 14:25:26 -07:00
|
|
|
ignitionSchedule1.pStartCallback = emptyCallback;
|
|
|
|
ignitionSchedule1.pEndCallback = emptyCallback;
|
2023-11-23 14:35:43 -08:00
|
|
|
setIgnitionSchedule(ignitionSchedule1, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, ignitionSchedule1.Status);
|
|
|
|
}
|
|
|
|
|
|
|
|
void test_status_off_to_pending_ign2(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-10-06 14:25:26 -07:00
|
|
|
ignitionSchedule2.pStartCallback = emptyCallback;
|
|
|
|
ignitionSchedule2.pEndCallback = emptyCallback;
|
2023-11-23 14:35:43 -08:00
|
|
|
setIgnitionSchedule(ignitionSchedule2, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, ignitionSchedule2.Status);
|
|
|
|
}
|
|
|
|
|
|
|
|
void test_status_off_to_pending_ign3(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-10-06 14:25:26 -07:00
|
|
|
ignitionSchedule3.pStartCallback = emptyCallback;
|
|
|
|
ignitionSchedule3.pEndCallback = emptyCallback;
|
2023-11-23 14:35:43 -08:00
|
|
|
setIgnitionSchedule(ignitionSchedule3, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, ignitionSchedule3.Status);
|
|
|
|
}
|
|
|
|
|
|
|
|
void test_status_off_to_pending_ign4(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-10-06 14:25:26 -07:00
|
|
|
ignitionSchedule4.pStartCallback = emptyCallback;
|
|
|
|
ignitionSchedule4.pEndCallback = emptyCallback;
|
2023-11-23 14:35:43 -08:00
|
|
|
setIgnitionSchedule(ignitionSchedule4, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, ignitionSchedule4.Status);
|
|
|
|
}
|
|
|
|
|
2023-03-05 22:23:17 -08:00
|
|
|
#if IGN_CHANNELS >= 5
|
2020-02-03 14:19:43 -08:00
|
|
|
void test_status_off_to_pending_ign5(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-10-06 14:25:26 -07:00
|
|
|
ignitionSchedule5.pStartCallback = emptyCallback;
|
|
|
|
ignitionSchedule5.pEndCallback = emptyCallback;
|
2023-11-23 14:35:43 -08:00
|
|
|
setIgnitionSchedule(ignitionSchedule5, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, ignitionSchedule5.Status);
|
|
|
|
}
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
2020-02-03 14:19:43 -08:00
|
|
|
|
2023-03-05 22:23:17 -08:00
|
|
|
#if IGN_CHANNELS >= 6
|
2020-02-03 14:19:43 -08:00
|
|
|
void test_status_off_to_pending_ign6(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-10-06 14:25:26 -07:00
|
|
|
ignitionSchedule6.pStartCallback = emptyCallback;
|
|
|
|
ignitionSchedule6.pEndCallback = emptyCallback;
|
2023-11-23 14:35:43 -08:00
|
|
|
setIgnitionSchedule(ignitionSchedule6, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, ignitionSchedule6.Status);
|
|
|
|
}
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
2020-02-03 14:19:43 -08:00
|
|
|
|
2023-03-05 22:23:17 -08:00
|
|
|
#if IGN_CHANNELS >= 7
|
2020-02-03 14:19:43 -08:00
|
|
|
void test_status_off_to_pending_ign7(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-10-06 14:25:26 -07:00
|
|
|
ignitionSchedule7.pStartCallback = emptyCallback;
|
|
|
|
ignitionSchedule7.pEndCallback = emptyCallback;
|
2023-11-23 14:35:43 -08:00
|
|
|
setIgnitionSchedule(ignitionSchedule7, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, ignitionSchedule7.Status);
|
|
|
|
}
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
2020-02-03 14:19:43 -08:00
|
|
|
|
2023-03-05 22:23:17 -08:00
|
|
|
#if IGN_CHANNELS >= 8
|
2020-02-03 14:19:43 -08:00
|
|
|
void test_status_off_to_pending_ign8(void)
|
|
|
|
{
|
|
|
|
initialiseSchedulers();
|
2023-10-06 14:25:26 -07:00
|
|
|
ignitionSchedule8.pStartCallback = emptyCallback;
|
|
|
|
ignitionSchedule8.pEndCallback = emptyCallback;
|
2023-11-23 14:35:43 -08:00
|
|
|
setIgnitionSchedule(ignitionSchedule8, TIMEOUT, DURATION);
|
2020-02-03 14:19:43 -08:00
|
|
|
TEST_ASSERT_EQUAL(PENDING, ignitionSchedule8.Status);
|
|
|
|
}
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
2020-02-03 14:19:43 -08:00
|
|
|
|
|
|
|
void test_status_off_to_pending(void)
|
|
|
|
{
|
2024-05-28 22:27:50 -07:00
|
|
|
SET_UNITY_FILENAME() {
|
|
|
|
|
2020-02-03 14:19:43 -08:00
|
|
|
RUN_TEST(test_status_off_to_pending_inj1);
|
|
|
|
RUN_TEST(test_status_off_to_pending_inj2);
|
|
|
|
RUN_TEST(test_status_off_to_pending_inj3);
|
|
|
|
RUN_TEST(test_status_off_to_pending_inj4);
|
2023-03-05 22:23:17 -08:00
|
|
|
#if INJ_CHANNELS >= 5
|
2020-02-03 14:19:43 -08:00
|
|
|
RUN_TEST(test_status_off_to_pending_inj5);
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
|
|
|
#if INJ_CHANNELS >= 6
|
2020-02-03 14:19:43 -08:00
|
|
|
RUN_TEST(test_status_off_to_pending_inj6);
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
|
|
|
#if INJ_CHANNELS >= 7
|
2020-02-03 14:19:43 -08:00
|
|
|
RUN_TEST(test_status_off_to_pending_inj7);
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
|
|
|
#if INJ_CHANNELS >= 8
|
2020-02-03 14:19:43 -08:00
|
|
|
RUN_TEST(test_status_off_to_pending_inj8);
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
2020-02-03 14:19:43 -08:00
|
|
|
|
|
|
|
RUN_TEST(test_status_off_to_pending_ign1);
|
|
|
|
RUN_TEST(test_status_off_to_pending_ign2);
|
|
|
|
RUN_TEST(test_status_off_to_pending_ign3);
|
|
|
|
RUN_TEST(test_status_off_to_pending_ign4);
|
2023-03-05 22:23:17 -08:00
|
|
|
#if IGN_CHANNELS >= 5
|
2020-02-03 14:19:43 -08:00
|
|
|
RUN_TEST(test_status_off_to_pending_ign5);
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
|
|
|
#if IGN_CHANNELS >= 6
|
2020-02-03 14:19:43 -08:00
|
|
|
RUN_TEST(test_status_off_to_pending_ign6);
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
|
|
|
#if IGN_CHANNELS >= 7
|
2020-02-03 14:19:43 -08:00
|
|
|
RUN_TEST(test_status_off_to_pending_ign7);
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
|
|
|
#if IGN_CHANNELS >= 8
|
2020-02-03 14:19:43 -08:00
|
|
|
RUN_TEST(test_status_off_to_pending_ign8);
|
2023-03-05 22:23:17 -08:00
|
|
|
#endif
|
2024-05-28 22:27:50 -07:00
|
|
|
}
|
2020-02-03 14:19:43 -08:00
|
|
|
}
|