diff --git a/tests/ADC/test_ADC.cpp b/tests/ADC/test_ADC.cpp index 6e6047c..1c5c03c 100644 --- a/tests/ADC/test_ADC.cpp +++ b/tests/ADC/test_ADC.cpp @@ -140,13 +140,32 @@ TEST(test_ADC, ADC_DisablePasses) ADC_Disable(); } +TEST(test_ADC, ADC_ReadValueImplimentationTimesOut) +{ + //Expect the start conversion bit to be set. + mock().expectOneCall("RegEdit_SetBit") + .withPointerParameter("reg", (void *) &ADCSRA) + .withUnsignedIntParameter("bit_num", ADSC); + + //Check that it can time out. + + //Expect it to read the start bit + mock().expectNCalls(ADC_WAIT_TIMEOUT, "RegEdit_IsBitSet") + .withPointerParameter("reg", (void *) &ADCSRA) + .withUnsignedIntParameter("bit_num", ADSC); + + //Check that it does return a value. + + ADC_ReadValue(0); +} + static uint16_t ADC_ReadValueFake(uint8_t pin_num) { return 512; } -TEST_GROUP(test_ADCRead) +TEST_GROUP(test_ADCReadPtrSwap) { void setup() { @@ -159,7 +178,7 @@ TEST_GROUP(test_ADCRead) } }; -TEST(test_ADCRead, FunctionPointerSwapWorks) +TEST(test_ADCReadPtrSwap, FunctionPointerSwapWorks) { uint16_t value = ADC_ReadValue(0);