/* Generated by YAKINDU Statechart Tools code generator. */ #include #include "gtest/gtest.h" #include "EventDrivenInternalEvent.h" #include "sc_runner.h" #include "sc_types.h" namespace { //! The timers are managed by a timer service. */ static SctUnitRunner * runner; class EventDrivenInternalEventTest : public ::testing::Test{ protected: EventDrivenInternalEvent* statechart; virtual void SetUp() { statechart = new EventDrivenInternalEvent(); statechart->init(); runner = new SctUnitRunner( statechart, true, 200 ); } virtual void TearDown() { delete statechart; delete runner; } }; TEST_F(EventDrivenInternalEventTest, checkInternlEventQueueing) { statechart->enter(); EXPECT_TRUE(statechart->isStateActive(EventDrivenInternalEvent::EventDrivenInternalEvent_r1_A)); EXPECT_TRUE(statechart->isStateActive(EventDrivenInternalEvent::EventDrivenInternalEvent_r2_C)); EXPECT_TRUE(statechart->isStateActive(EventDrivenInternalEvent::EventDrivenInternalEvent_check_VALID)); statechart->getDefaultSCI()->raise_start(); EXPECT_TRUE(statechart->isStateActive(EventDrivenInternalEvent::EventDrivenInternalEvent_r1_B)); EXPECT_TRUE(statechart->isStateActive(EventDrivenInternalEvent::EventDrivenInternalEvent_r2_D)); EXPECT_TRUE(statechart->isStateActive(EventDrivenInternalEvent::EventDrivenInternalEvent_check_VALID)); EXPECT_TRUE(statechart->getDefaultSCI()->get_i1_sequence()== 2l); EXPECT_TRUE(statechart->getDefaultSCI()->get_i2_sequence()== 3l); statechart->exit(); } }