/* * Author: username * Date: todays_date * filename: test_TriacOut.c * description: module_purpose */ #include "CppUTest/CommandLineTestRunner.h" #include "CppUTestExt/MockSupport.h" //This define allows us to dircetly include the device header without error. #define _AVR_IO_H_ extern "C" { #include #include "TriacOut.h" #include "MockRegEdit.h" } void FakeDelay(double us) { //do Nothing. } void (*Delay_MicroSeconds)(double us) = FakeDelay; TEST_GROUP(test_TriacOut) { void setup() { UT_PTR_SET(Delay_MicroSeconds, FakeDelay); } void teardown() { mock().checkExpectations(); mock().clear(); } }; TEST(test_TriacOut, FirstTest) { //FAIL("Fail me!"); CHECK(true); } TEST(test_TriacOut, TriacOut_SetupPins) { //Expect that pin PA1 is set to output mock().expectOneCall("RegEdit_SetBit") .withPointerParameter("reg", (void *) &PORTA.DIR) .withUnsignedIntParameter("bit_num", G1); //Expect that pin PB3 is set to output mock().expectOneCall("RegEdit_SetBit") .withPointerParameter("reg", (void *) &PORTB.DIR) .withUnsignedIntParameter("bit_num", G2); //Expect that pin PB2 is set to output mock().expectOneCall("RegEdit_SetBit") .withPointerParameter("reg", (void *) &PORTB.DIR) .withUnsignedIntParameter("bit_num", G3); TriacOut_SetupPins(); } TEST(test_TriacOut, TriacOut_SetAllHigh) { //Expect that pin PA1 is set to output mock().expectOneCall("RegEdit_SetBit") .withPointerParameter("reg", (void *) &PORTA.OUT) .withUnsignedIntParameter("bit_num", G1); //Expect that pin PB3 is set to output mock().expectOneCall("RegEdit_SetBit") .withPointerParameter("reg", (void *) &PORTB.OUT) .withUnsignedIntParameter("bit_num", G2); //Expect that pin PB2 is set to output mock().expectOneCall("RegEdit_SetBit") .withPointerParameter("reg", (void *) &PORTB.OUT) .withUnsignedIntParameter("bit_num", G3); TriacOut_SetAllHigh(); } TEST(test_TriacOut, TriacOut_PulsePins) { //Expect that pin PA1 is set to output mock().expectOneCall("RegEdit_ClearBit") .withPointerParameter("reg", (void *) &PORTA.OUT) .withUnsignedIntParameter("bit_num", G1); //Expect that pin PB3 is set to output mock().expectOneCall("RegEdit_ClearBit") .withPointerParameter("reg", (void *) &PORTB.OUT) .withUnsignedIntParameter("bit_num", G2); //Expect that pin PB2 is set to output mock().expectOneCall("RegEdit_ClearBit") .withPointerParameter("reg", (void *) &PORTB.OUT) .withUnsignedIntParameter("bit_num", G3); TriacOut_PulsePins(1000); }