/* * Author: Jake G * Date: 2024 * filename: test_MockADC.c * description: */ #include "CppUTest/CommandLineTestRunner.h" #include "CppUTestExt/MockSupport.h" #include extern "C" { #include "MockADC.h" } TEST_GROUP(test_MockADC) { void setup() { } void teardown() { mock().checkExpectations(); mock().clear(); } }; TEST(test_MockADC, ADC_InitExpects) { mock().expectOneCall("ADC_Init") .withUnsignedIntParameter("pin_num", 7); ADC_Init(7); } TEST(test_MockADC, ADC_EnableExpects) { mock().expectOneCall("ADC_Enable"); ADC_Enable(); } TEST(test_MockADC, ADC_DisableExpect) { mock().expectOneCall("ADC_Disable"); ADC_Disable(); } TEST(test_MockADC, ADC_ReadValue) { MockADC_ZeroIndex(); MockADC_PushValue(512); mock().expectOneCall("ADC_ReadValue_Impl") .withUnsignedIntParameter("pin_num", 0x2); uint16_t val = ADC_ReadValue(0x2); LONGS_EQUAL(512, val); } TEST(test_MockADC, ADC_ReadValueReturnsZeroOnEmptyBuffer) { MockADC_ZeroIndex(); mock().expectOneCall("ADC_ReadValue_Impl") .withUnsignedIntParameter("pin_num", 0x2) .andReturnValue(0x0000); uint16_t val = ADC_ReadValue(0x2); LONGS_EQUAL(0, val); } TEST(test_MockADC, MockADC_PushValueDoesntOverflowArray) { MockADC_ZeroIndex(); for(int i = 0; i < 257; i++){ MockADC_PushValue(512+i); CHECK_TRUE(MockADC_GetIndex() <= 255); } } TEST(test_MockADC, MockADC_SetupSetsGlobal) { CHECK_FALSE(MockADC_IsSetup()); ADC_Setup(); CHECK_TRUE(MockADC_IsSetup()); }