ChoiceTest.cc 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /* Generated by YAKINDU Statechart Tools code generator. */
  2. #include "gtest/gtest.h"
  3. #include "Choice.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 Choice statechart;
  8. class ChoiceTest : public ::testing::Test{
  9. protected:
  10. virtual void SetUp() {
  11. choice_init(&statechart);
  12. sc_timer_service_init(
  13. &timer_service,
  14. 0,
  15. (sc_run_cycle_fp) &choice_runCycle,
  16. false,
  17. 200,
  18. &statechart
  19. );
  20. }
  21. };
  22. void initForEventE(bool valueForC){
  23. choice_enter(&statechart);
  24. EXPECT_TRUE(choice_isStateActive(&statechart, Choice_main_region_A));
  25. choiceIface_set_c(&statechart,valueForC);
  26. choiceIface_raise_e(&statechart);
  27. sc_timer_service_proceed_cycles(&timer_service, 1);
  28. }
  29. void initForEventF(bool valueForC){
  30. choice_enter(&statechart);
  31. EXPECT_TRUE(choice_isStateActive(&statechart, Choice_main_region_A));
  32. choiceIface_set_c(&statechart,valueForC);
  33. choiceIface_raise_f(&statechart);
  34. sc_timer_service_proceed_cycles(&timer_service, 1);
  35. }
  36. void initForEventG(bool valueForC){
  37. choice_enter(&statechart);
  38. EXPECT_TRUE(choice_isStateActive(&statechart, Choice_main_region_A));
  39. choiceIface_set_c(&statechart,valueForC);
  40. choiceIface_raise_g(&statechart);
  41. sc_timer_service_proceed_cycles(&timer_service, 1);
  42. }
  43. void initForEventH(bool valueForC){
  44. choice_enter(&statechart);
  45. EXPECT_TRUE(choice_isStateActive(&statechart, Choice_main_region_A));
  46. choiceIface_set_c(&statechart,valueForC);
  47. choiceIface_raise_h(&statechart);
  48. sc_timer_service_proceed_cycles(&timer_service, 1);
  49. }
  50. TEST_F(ChoiceTest, elseChoiceUsingNonDefaultTransition) {
  51. initForEventE(true);
  52. EXPECT_TRUE(choice_isStateActive(&statechart, Choice_main_region_C));
  53. }
  54. TEST_F(ChoiceTest, elseChoiceUsingDefaultTransition) {
  55. initForEventE(false);
  56. EXPECT_TRUE(choice_isStateActive(&statechart, Choice_main_region_B));
  57. }
  58. TEST_F(ChoiceTest, defaultChoiceUsingNonDefaultTransition) {
  59. initForEventG(true);
  60. EXPECT_TRUE(choice_isStateActive(&statechart, Choice_main_region_C));
  61. }
  62. TEST_F(ChoiceTest, defaultChoiceUsingDefaultTransition) {
  63. initForEventG(false);
  64. EXPECT_TRUE(choice_isStateActive(&statechart, Choice_main_region_B));
  65. }
  66. TEST_F(ChoiceTest, uncheckedChoiceUsingNonDefaultTransition) {
  67. initForEventF(true);
  68. EXPECT_TRUE(choice_isStateActive(&statechart, Choice_main_region_C));
  69. }
  70. TEST_F(ChoiceTest, uncheckedChoiceUsingDefaultTransition) {
  71. initForEventF(false);
  72. EXPECT_TRUE(choice_isStateActive(&statechart, Choice_main_region_B));
  73. }
  74. TEST_F(ChoiceTest, alwaysTrueTransitionInChoice) {
  75. initForEventH(true);
  76. EXPECT_TRUE(choice_isStateActive(&statechart, Choice_main_region_C));
  77. }