void test_message_passing_send_a_message_LedState_should_change_to_LED_ON(void){ LedData ledData; ButtonData buttonData; ledInitData(&ledData); buttonInitData(&buttonData); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state,LED_OFF); isButtonPressed_ExpectAndReturn(false); buttonSM(&buttonData); TEST_ASSERT_EQUAL(buttonData.state,RELEASE); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state,LED_OFF); isButtonPressed_ExpectAndReturn(true); buttonSM(&buttonData); TEST_ASSERT_EQUAL(buttonData.state,PRESS); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state,LED_BLINKING_ON); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state,LED_BLINKING_OFF); }
void test_led_with_button(void){ ButtonData buttonData; LedData ledData; buttonInitData(&buttonData); ledInitData(&ledData); TEST_ASSERT_EQUAL(buttonData.state, RELEASE); TEST_ASSERT_EQUAL(ledData.state, LED_OFF); isButtonPressed_ExpectAndReturn(true); buttonSM(&buttonData); TEST_ASSERT_EQUAL(buttonData.state, PRESS); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_BLINKING_ON); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_BLINKING_OFF); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_BLINKING_ON); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_BLINKING_OFF); isButtonPressed_ExpectAndReturn(false); buttonSM(&buttonData); TEST_ASSERT_EQUAL(buttonData.state, RELEASE); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_BLINKING_ON); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_BLINKING_OFF); isButtonPressed_ExpectAndReturn(true); buttonSM(&buttonData); TEST_ASSERT_EQUAL(buttonData.state, PRESS); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_ON); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_ON); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_ON); isButtonPressed_ExpectAndReturn(false); buttonSM(&buttonData); TEST_ASSERT_EQUAL(buttonData.state, RELEASE); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_ON); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_ON); isButtonPressed_ExpectAndReturn(true); buttonSM(&buttonData); TEST_ASSERT_EQUAL(buttonData.state, PRESS); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_OFF); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_OFF); isButtonPressed_ExpectAndReturn(false); buttonSM(&buttonData); TEST_ASSERT_EQUAL(buttonData.state, RELEASE); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_OFF); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_OFF); //second time isButtonPressed_ExpectAndReturn(true); buttonSM(&buttonData); TEST_ASSERT_EQUAL(buttonData.state, PRESS); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_BLINKING_ON); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_BLINKING_OFF); isButtonPressed_ExpectAndReturn(false); buttonSM(&buttonData); TEST_ASSERT_EQUAL(buttonData.state, RELEASE); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_BLINKING_ON); isButtonPressed_ExpectAndReturn(true); buttonSM(&buttonData); TEST_ASSERT_EQUAL(buttonData.state, PRESS); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_ON); isButtonPressed_ExpectAndReturn(false); buttonSM(&buttonData); TEST_ASSERT_EQUAL(buttonData.state, RELEASE); isButtonPressed_ExpectAndReturn(true); buttonSM(&buttonData); TEST_ASSERT_EQUAL(buttonData.state, PRESS); ledSM(&ledData); TEST_ASSERT_EQUAL(ledData.state, LED_OFF); }