EventDrivenTriggeredByEventTest.cc 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /* Generated by YAKINDU Statechart Tools code generator. */
  2. #include <string>
  3. #include "gtest/gtest.h"
  4. #include "EventDrivenTriggeredByEvent.h"
  5. #include "sc_runner_timed.h"
  6. #include "sc_types.h"
  7. //! The timers are managed by a timer service. */
  8. static TimedSctUnitRunner * runner;
  9. class EventDrivenTriggeredByEventTest : public ::testing::Test{
  10. protected:
  11. EventDrivenTriggeredByEvent* statechart;
  12. virtual void SetUp() {
  13. statechart = new EventDrivenTriggeredByEvent();
  14. statechart->init();
  15. runner = new TimedSctUnitRunner(
  16. statechart,
  17. true,
  18. 200
  19. );
  20. statechart->setTimer(runner);
  21. }
  22. virtual void TearDown() {
  23. delete statechart;
  24. delete runner;
  25. }
  26. };
  27. TEST_F(EventDrivenTriggeredByEventTest, internalEventTriggersRunCycle) {
  28. statechart->enter();
  29. EXPECT_TRUE(statechart->isStateActive(EventDrivenTriggeredByEvent::EventDrivenTriggeredByEvent_main_region_A));
  30. statechart->getDefaultSCI()->raise_e();
  31. EXPECT_TRUE(statechart->isStateActive(EventDrivenTriggeredByEvent::EventDrivenTriggeredByEvent_main_region_B));
  32. EXPECT_TRUE(statechart->getDefaultSCI()->get_x()== 0l);
  33. statechart->getDefaultSCI()->raise_e();
  34. EXPECT_TRUE(statechart->isStateActive(EventDrivenTriggeredByEvent::EventDrivenTriggeredByEvent_main_region_A));
  35. EXPECT_TRUE(statechart->getDefaultSCI()->get_x()== 0l);
  36. statechart->exit();
  37. }
  38. TEST_F(EventDrivenTriggeredByEventTest, proceedTimeDoesNotTriggerRunCycle) {
  39. statechart->enter();
  40. EXPECT_TRUE(statechart->isStateActive(EventDrivenTriggeredByEvent::EventDrivenTriggeredByEvent_main_region_A));
  41. runner->proceed_time(120000);
  42. EXPECT_TRUE(statechart->getDefaultSCI()->get_x()== 0l);
  43. statechart->exit();
  44. }