EntryReactionActionTest.cc 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /* Generated by YAKINDU Statechart Tools code generator. */
  2. #include "gtest/gtest.h"
  3. #include "EntryReactionAction.h"
  4. #include "sc_timer_service.h"
  5. //! The timers are managed by a timer service. */
  6. static sc_unit_timer_service_t timer_service;
  7. static EntryReactionAction statechart;
  8. class EntryReactionActionTest : public ::testing::Test{
  9. protected:
  10. virtual void SetUp() {
  11. entryReactionAction_init(&statechart);
  12. sc_timer_service_init(
  13. &timer_service,
  14. 0,
  15. (sc_run_cycle_fp) &entryReactionAction_runCycle,
  16. false,
  17. 200,
  18. &statechart
  19. );
  20. }
  21. };
  22. void init(){
  23. entryReactionAction_enter(&statechart);
  24. entryReactionActionIface_raise_b(&statechart);
  25. sc_timer_service_proceed_cycles(&timer_service, 1);
  26. entryReactionActionIface_raise_d(&statechart);
  27. sc_timer_service_proceed_cycles(&timer_service, 1);
  28. entryReactionActionIface_set_enteredR1(&statechart,false);
  29. entryReactionActionIface_set_enteredR2(&statechart,false);
  30. entryReactionActionIface_set_enteredBdefault(&statechart,false);
  31. entryReactionActionIface_set_enteredBother(&statechart,false);
  32. }
  33. TEST_F(EntryReactionActionTest, entryTransitionActionOnStatechartEnter) {
  34. entryReactionAction_enter(&statechart);
  35. EXPECT_TRUE(entryReactionActionIface_get_enteredR1(&statechart));
  36. EXPECT_TRUE(entryReactionActionIface_get_enteredR2(&statechart));
  37. EXPECT_TRUE(entryReactionActionIface_get_enteredBdefault(&statechart));
  38. EXPECT_TRUE(!entryReactionActionIface_get_enteredBother(&statechart));
  39. }
  40. TEST_F(EntryReactionActionTest, entryOnRTS) {
  41. init();
  42. entryReactionActionIface_raise_b(&statechart);
  43. sc_timer_service_proceed_cycles(&timer_service, 1);
  44. EXPECT_TRUE(!entryReactionActionIface_get_enteredR1(&statechart));
  45. EXPECT_TRUE(!entryReactionActionIface_get_enteredR2(&statechart));
  46. EXPECT_TRUE(!entryReactionActionIface_get_enteredBdefault(&statechart));
  47. EXPECT_TRUE(entryReactionActionIface_get_enteredBother(&statechart));
  48. }
  49. TEST_F(EntryReactionActionTest, noEntryTransitionActionOnHistory) {
  50. init();
  51. entryReactionActionIface_raise_d(&statechart);
  52. sc_timer_service_proceed_cycles(&timer_service, 1);
  53. EXPECT_TRUE(!entryReactionActionIface_get_enteredR1(&statechart));
  54. EXPECT_TRUE(!entryReactionActionIface_get_enteredR2(&statechart));
  55. EXPECT_TRUE(!entryReactionActionIface_get_enteredBdefault(&statechart));
  56. EXPECT_TRUE(!entryReactionActionIface_get_enteredBother(&statechart));
  57. }