diff --git a/mocks/MockADC/MockADC.c b/mocks/MockADC/MockADC.c index ced85b1..dcf8f8f 100644 --- a/mocks/MockADC/MockADC.c +++ b/mocks/MockADC/MockADC.c @@ -13,16 +13,30 @@ uint16_t fake_data[FAKESIZE]; int fake_index = 0; +static bool is_setup = false; + + + +void ADC_SetPin(uint8_t pin_num) +{ + return; +} + +void ADC_Setup(void) +{ + is_setup = true; + return; +} + void ADC_Init(uint8_t pin_num) { mock_c()->actualCall("ADC_Init") ->withUnsignedIntParameters("pin_num", pin_num); } -void ADC_Enable(uint8_t pin_num) +void ADC_Enable(void) { - mock_c()->actualCall("ADC_Enable") - ->withUnsignedIntParameters("pin_num", pin_num); + mock_c()->actualCall("ADC_Enable"); } void ADC_Disable() @@ -62,3 +76,9 @@ int MockADC_GetIndex(void) { return fake_index; } + + +bool MockADC_IsSetup(void) +{ + return is_setup; +} diff --git a/mocks/MockADC/MockADC.h b/mocks/MockADC/MockADC.h index d16be3f..6c95934 100644 --- a/mocks/MockADC/MockADC.h +++ b/mocks/MockADC/MockADC.h @@ -13,18 +13,18 @@ #include #include -/** - * A function that adds two to a number - * @param a The first argument - */ + +void ADC_Setup(void); +void ADC_SetPin(uint8_t pin_num); void ADC_Init(uint8_t pin_num); -void ADC_Enable(uint8_t pin_num); -void ADC_Disable(); +void ADC_Enable(void); +void ADC_Disable(void); extern uint16_t (*ADC_ReadValue)(uint8_t pin_num); void MockADC_PushValue(uint16_t value); void MockADC_ZeroIndex(void); int MockADC_GetIndex(void); +bool MockADC_IsSetup(void); #endif //MOCKADC_H diff --git a/src/zero_cross_detection/zero_cross_detection.c b/src/zero_cross_detection/zero_cross_detection.c index 6099609..7b81e1e 100644 --- a/src/zero_cross_detection/zero_cross_detection.c +++ b/src/zero_cross_detection/zero_cross_detection.c @@ -19,8 +19,9 @@ void ZCD_Setup(void) { - ADC_Init(7); - ADC_Enable(7); + ADC_Init(ZCD_PIN); + ADC_SetPin(ZCD_PIN); + ADC_Enable(); } bool ZCD_IsTriggered() diff --git a/tests/load/CMakeLists.txt b/tests/load/CMakeLists.txt new file mode 100644 index 0000000..f33cce9 --- /dev/null +++ b/tests/load/CMakeLists.txt @@ -0,0 +1,12 @@ +# TEST_RUNNER +add_library(test_load + test_load.cpp +) + +target_link_libraries(test_load + ${CPPUTEST_LIBRARIES}/libCppUTest.a + ${CPPUTEST_LIBRARIES}/libCppUTestExt.a + load + MockADC + MockRegEdit +) diff --git a/tests/load/test_load.cpp b/tests/load/test_load.cpp new file mode 100644 index 0000000..72fd3a9 --- /dev/null +++ b/tests/load/test_load.cpp @@ -0,0 +1,56 @@ +/* + * Author: Jake G + * Date: 2024 + * filename: test_load.cpp + * description: + */ + +#include "CppUTest/CommandLineTestRunner.h" +#include "CppUTestExt/MockSupport.h" +#include + + +//This define allows us to dircetly include the device header without error. +#define _AVR_IO_H_ + +extern "C" +{ +#include //ATtiny404 header fille. +#include "load.h" +#include "MockADC.h" +#include "MockADC.h" +} + +TEST_GROUP(test_load) +{ + void setup() + { + + } + void teardown() + { + mock().checkExpectations(); + mock().clear(); + } +}; + +TEST(test_load, LoadPass) +{ + CHECK_TRUE(true); +} + +TEST(test_load, PortAHandlerSuccess) +{ + mock().expectOneCall("ADC_Init") + .withUnsignedIntParameter("pin_num", 4); + + mock().expectOneCall("ADC_Enable"); + mock().expectOneCall("ADC_ReadValue_Impl") + .withUnsignedIntParameter("pin_num", 4); + mock().expectOneCall("ADC_Disable"); + mock().expectOneCall("RegEdit_ClearBit") + .withPointerParameter("reg", (void *) &PORTA.OUT) + .withUnsignedIntParameter("bit_num", 7); + + Load_HandleLoadPortA(4, 7); +}