state_machines 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE.txt +1 -1
  3. data/README.md +7 -4
  4. data/lib/state_machines/branch.rb +81 -79
  5. data/lib/state_machines/callback.rb +22 -21
  6. data/lib/state_machines/eval_helpers.rb +15 -15
  7. data/lib/state_machines/event.rb +31 -28
  8. data/lib/state_machines/event_collection.rb +26 -25
  9. data/lib/state_machines/extensions.rb +1 -1
  10. data/lib/state_machines/helper_module.rb +1 -1
  11. data/lib/state_machines/integrations.rb +8 -8
  12. data/lib/state_machines/machine.rb +372 -369
  13. data/lib/state_machines/machine_collection.rb +11 -10
  14. data/lib/state_machines/macro_methods.rb +100 -100
  15. data/lib/state_machines/matcher.rb +23 -23
  16. data/lib/state_machines/matcher_helpers.rb +11 -11
  17. data/lib/state_machines/node_collection.rb +15 -13
  18. data/lib/state_machines/path.rb +56 -55
  19. data/lib/state_machines/path_collection.rb +35 -35
  20. data/lib/state_machines/state.rb +7 -6
  21. data/lib/state_machines/state_collection.rb +20 -19
  22. data/lib/state_machines/state_context.rb +33 -35
  23. data/lib/state_machines/transition.rb +180 -178
  24. data/lib/state_machines/transition_collection.rb +170 -168
  25. data/lib/state_machines/version.rb +1 -1
  26. metadata +4 -434
  27. data/.gitignore +0 -21
  28. data/.rspec +0 -3
  29. data/.ruby-gemset +0 -1
  30. data/.ruby-version +0 -1
  31. data/.travis.yml +0 -16
  32. data/Changelog.md +0 -22
  33. data/Contributors.md +0 -39
  34. data/Gemfile +0 -8
  35. data/Rakefile +0 -12
  36. data/Testing.md +0 -0
  37. data/state_machines.gemspec +0 -22
  38. data/test/files/integrations/event_on_failure_integration.rb +0 -10
  39. data/test/files/integrations/vehicle.rb +0 -7
  40. data/test/files/models/auto_shop.rb +0 -31
  41. data/test/files/models/car.rb +0 -21
  42. data/test/files/models/driver.rb +0 -13
  43. data/test/files/models/model_base.rb +0 -6
  44. data/test/files/models/motorcycle.rb +0 -16
  45. data/test/files/models/traffic_light.rb +0 -47
  46. data/test/files/models/vehicle.rb +0 -127
  47. data/test/files/node.rb +0 -5
  48. data/test/files/switch.rb +0 -15
  49. data/test/functional/auto_shop_available_test.rb +0 -20
  50. data/test/functional/auto_shop_busy_test.rb +0 -25
  51. data/test/functional/car_backing_up_test.rb +0 -45
  52. data/test/functional/car_test.rb +0 -49
  53. data/test/functional/driver_default_nonstandard_test.rb +0 -13
  54. data/test/functional/motorcycle_test.rb +0 -52
  55. data/test/functional/traffic_light_caution_test.rb +0 -17
  56. data/test/functional/traffic_light_proceed_test.rb +0 -17
  57. data/test/functional/traffic_light_stop_test.rb +0 -26
  58. data/test/functional/vehicle_first_gear_test.rb +0 -42
  59. data/test/functional/vehicle_idling_test.rb +0 -59
  60. data/test/functional/vehicle_locked_test.rb +0 -29
  61. data/test/functional/vehicle_parked_test.rb +0 -53
  62. data/test/functional/vehicle_repaired_test.rb +0 -20
  63. data/test/functional/vehicle_second_gear_test.rb +0 -42
  64. data/test/functional/vehicle_stalled_test.rb +0 -65
  65. data/test/functional/vehicle_test.rb +0 -20
  66. data/test/functional/vehicle_third_gear_test.rb +0 -42
  67. data/test/functional/vehicle_unsaved_test.rb +0 -181
  68. data/test/functional/vehicle_with_event_attributes_test.rb +0 -30
  69. data/test/functional/vehicle_with_parallel_events_test.rb +0 -36
  70. data/test/test_helper.rb +0 -15
  71. data/test/unit/assertions/assert_exclusive_keys_test.rb +0 -22
  72. data/test/unit/assertions/assert_valid_key_test.rb +0 -12
  73. data/test/unit/branch/branch_test.rb +0 -28
  74. data/test/unit/branch/branch_with_conflicting_conditionals_test.rb +0 -27
  75. data/test/unit/branch/branch_with_conflicting_from_requirements_test.rb +0 -8
  76. data/test/unit/branch/branch_with_conflicting_on_requirements_test.rb +0 -8
  77. data/test/unit/branch/branch_with_conflicting_to_requirements_test.rb +0 -8
  78. data/test/unit/branch/branch_with_different_requirements_test.rb +0 -41
  79. data/test/unit/branch/branch_with_except_from_matcher_requirement_test.rb +0 -8
  80. data/test/unit/branch/branch_with_except_from_requirement_test.rb +0 -36
  81. data/test/unit/branch/branch_with_except_on_matcher_requirement_test.rb +0 -8
  82. data/test/unit/branch/branch_with_except_on_requirement_test.rb +0 -36
  83. data/test/unit/branch/branch_with_except_to_matcher_requirement_test.rb +0 -8
  84. data/test/unit/branch/branch_with_except_to_requirement_test.rb +0 -36
  85. data/test/unit/branch/branch_with_from_matcher_requirement_test.rb +0 -20
  86. data/test/unit/branch/branch_with_from_requirement_test.rb +0 -45
  87. data/test/unit/branch/branch_with_if_conditional_test.rb +0 -27
  88. data/test/unit/branch/branch_with_implicit_and_explicit_requirements_test.rb +0 -23
  89. data/test/unit/branch/branch_with_implicit_from_requirement_matcher_test.rb +0 -20
  90. data/test/unit/branch/branch_with_implicit_requirement_test.rb +0 -20
  91. data/test/unit/branch/branch_with_implicit_to_requirement_matcher_test.rb +0 -16
  92. data/test/unit/branch/branch_with_multiple_except_from_requirements_test.rb +0 -20
  93. data/test/unit/branch/branch_with_multiple_except_on_requirements_test.rb +0 -16
  94. data/test/unit/branch/branch_with_multiple_except_to_requirements_test.rb +0 -20
  95. data/test/unit/branch/branch_with_multiple_from_requirements_test.rb +0 -16
  96. data/test/unit/branch/branch_with_multiple_if_conditionals_test.rb +0 -20
  97. data/test/unit/branch/branch_with_multiple_implicit_requirements_test.rb +0 -53
  98. data/test/unit/branch/branch_with_multiple_to_requirements_test.rb +0 -20
  99. data/test/unit/branch/branch_with_multiple_unless_conditionals_test.rb +0 -20
  100. data/test/unit/branch/branch_with_nil_requirements_test.rb +0 -28
  101. data/test/unit/branch/branch_with_no_requirements_test.rb +0 -36
  102. data/test/unit/branch/branch_with_on_matcher_requirement_test.rb +0 -16
  103. data/test/unit/branch/branch_with_on_requirement_test.rb +0 -45
  104. data/test/unit/branch/branch_with_to_matcher_requirement_test.rb +0 -20
  105. data/test/unit/branch/branch_with_to_requirement_test.rb +0 -45
  106. data/test/unit/branch/branch_with_unless_conditional_test.rb +0 -27
  107. data/test/unit/branch/branch_without_guards_test.rb +0 -27
  108. data/test/unit/callback/callback_by_default_test.rb +0 -25
  109. data/test/unit/callback/callback_test.rb +0 -53
  110. data/test/unit/callback/callback_with_application_bound_object_test.rb +0 -23
  111. data/test/unit/callback/callback_with_application_terminator_test.rb +0 -24
  112. data/test/unit/callback/callback_with_arguments_test.rb +0 -14
  113. data/test/unit/callback/callback_with_around_type_and_arguments_test.rb +0 -25
  114. data/test/unit/callback/callback_with_around_type_and_block_test.rb +0 -44
  115. data/test/unit/callback/callback_with_around_type_and_bound_method_test.rb +0 -23
  116. data/test/unit/callback/callback_with_around_type_and_multiple_methods_test.rb +0 -93
  117. data/test/unit/callback/callback_with_around_type_and_terminator_test.rb +0 -17
  118. data/test/unit/callback/callback_with_block_test.rb +0 -20
  119. data/test/unit/callback/callback_with_bound_method_and_arguments_test.rb +0 -28
  120. data/test/unit/callback/callback_with_bound_method_test.rb +0 -35
  121. data/test/unit/callback/callback_with_do_method_test.rb +0 -18
  122. data/test/unit/callback/callback_with_explicit_requirements_test.rb +0 -32
  123. data/test/unit/callback/callback_with_if_condition_test.rb +0 -17
  124. data/test/unit/callback/callback_with_implicit_requirements_test.rb +0 -32
  125. data/test/unit/callback/callback_with_method_argument_test.rb +0 -18
  126. data/test/unit/callback/callback_with_mixed_methods_test.rb +0 -31
  127. data/test/unit/callback/callback_with_multiple_bound_methods_test.rb +0 -21
  128. data/test/unit/callback/callback_with_multiple_do_methods_test.rb +0 -29
  129. data/test/unit/callback/callback_with_multiple_method_arguments_test.rb +0 -29
  130. data/test/unit/callback/callback_with_terminator_test.rb +0 -22
  131. data/test/unit/callback/callback_with_unbound_method_test.rb +0 -14
  132. data/test/unit/callback/callback_with_unless_condition_test.rb +0 -17
  133. data/test/unit/callback/callback_without_arguments_test.rb +0 -14
  134. data/test/unit/callback/callback_without_terminator_test.rb +0 -12
  135. data/test/unit/error/error_by_default_test.rb +0 -21
  136. data/test/unit/error/error_with_message_test.rb +0 -23
  137. data/test/unit/eval_helper/eval_helpers_base_test.rb +0 -8
  138. data/test/unit/eval_helper/eval_helpers_proc_block_and_explicit_arguments_test.rb +0 -14
  139. data/test/unit/eval_helper/eval_helpers_proc_block_and_implicit_arguments_test.rb +0 -14
  140. data/test/unit/eval_helper/eval_helpers_proc_test.rb +0 -13
  141. data/test/unit/eval_helper/eval_helpers_proc_with_arguments_test.rb +0 -13
  142. data/test/unit/eval_helper/eval_helpers_proc_with_block_test.rb +0 -13
  143. data/test/unit/eval_helper/eval_helpers_proc_with_block_without_arguments_test.rb +0 -18
  144. data/test/unit/eval_helper/eval_helpers_proc_with_block_without_object_test.rb +0 -14
  145. data/test/unit/eval_helper/eval_helpers_proc_without_arguments_test.rb +0 -19
  146. data/test/unit/eval_helper/eval_helpers_string_test.rb +0 -25
  147. data/test/unit/eval_helper/eval_helpers_string_with_block_test.rb +0 -12
  148. data/test/unit/eval_helper/eval_helpers_symbol_method_missing_test.rb +0 -20
  149. data/test/unit/eval_helper/eval_helpers_symbol_private_test.rb +0 -17
  150. data/test/unit/eval_helper/eval_helpers_symbol_protected_test.rb +0 -17
  151. data/test/unit/eval_helper/eval_helpers_symbol_tainted_method_test.rb +0 -18
  152. data/test/unit/eval_helper/eval_helpers_symbol_test.rb +0 -16
  153. data/test/unit/eval_helper/eval_helpers_symbol_with_arguments_and_block_test.rb +0 -16
  154. data/test/unit/eval_helper/eval_helpers_symbol_with_arguments_test.rb +0 -16
  155. data/test/unit/eval_helper/eval_helpers_symbol_with_block_test.rb +0 -16
  156. data/test/unit/eval_helper/eval_helpers_test.rb +0 -13
  157. data/test/unit/event/event_after_being_copied_test.rb +0 -17
  158. data/test/unit/event/event_by_default_test.rb +0 -60
  159. data/test/unit/event/event_context_test.rb +0 -16
  160. data/test/unit/event/event_on_failure_test.rb +0 -44
  161. data/test/unit/event/event_test.rb +0 -34
  162. data/test/unit/event/event_transitions_test.rb +0 -62
  163. data/test/unit/event/event_with_conflicting_helpers_after_definition_test.rb +0 -79
  164. data/test/unit/event/event_with_conflicting_helpers_before_definition_test.rb +0 -58
  165. data/test/unit/event/event_with_conflicting_machine_test.rb +0 -48
  166. data/test/unit/event/event_with_dynamic_human_name_test.rb +0 -26
  167. data/test/unit/event/event_with_human_name_test.rb +0 -13
  168. data/test/unit/event/event_with_invalid_current_state_test.rb +0 -30
  169. data/test/unit/event/event_with_machine_action_test.rb +0 -33
  170. data/test/unit/event/event_with_marshalling_test.rb +0 -47
  171. data/test/unit/event/event_with_matching_disabled_transitions_test.rb +0 -115
  172. data/test/unit/event/event_with_matching_enabled_transitions_test.rb +0 -75
  173. data/test/unit/event/event_with_multiple_transitions_test.rb +0 -61
  174. data/test/unit/event/event_with_namespace_test.rb +0 -34
  175. data/test/unit/event/event_with_transition_with_blacklisted_to_state_test.rb +0 -60
  176. data/test/unit/event/event_with_transition_with_loopback_state_test.rb +0 -36
  177. data/test/unit/event/event_with_transition_with_nil_to_state_test.rb +0 -36
  178. data/test/unit/event/event_with_transition_with_whitelisted_to_state_test.rb +0 -51
  179. data/test/unit/event/event_with_transition_without_to_state_test.rb +0 -36
  180. data/test/unit/event/event_with_transitions_test.rb +0 -32
  181. data/test/unit/event/event_without_matching_transitions_test.rb +0 -41
  182. data/test/unit/event/event_without_transitions_test.rb +0 -28
  183. data/test/unit/event/invalid_event_test.rb +0 -20
  184. data/test/unit/event_collection/event_collection_attribute_with_machine_action_test.rb +0 -62
  185. data/test/unit/event_collection/event_collection_attribute_with_namespaced_machine_test.rb +0 -36
  186. data/test/unit/event_collection/event_collection_by_default_test.rb +0 -26
  187. data/test/unit/event_collection/event_collection_test.rb +0 -39
  188. data/test/unit/event_collection/event_collection_with_custom_machine_attribute_test.rb +0 -31
  189. data/test/unit/event_collection/event_collection_with_events_with_transitions_test.rb +0 -76
  190. data/test/unit/event_collection/event_collection_with_multiple_events_test.rb +0 -27
  191. data/test/unit/event_collection/event_collection_with_validations_test.rb +0 -74
  192. data/test/unit/event_collection/event_collection_without_machine_action_test.rb +0 -18
  193. data/test/unit/event_collection/event_string_collection_test.rb +0 -31
  194. data/test/unit/helper_module_test.rb +0 -17
  195. data/test/unit/integrations/integration_finder_test.rb +0 -16
  196. data/test/unit/integrations/integration_matcher_test.rb +0 -29
  197. data/test/unit/invalid_transition/invalid_parallel_transition_test.rb +0 -18
  198. data/test/unit/invalid_transition/invalid_transition_test.rb +0 -47
  199. data/test/unit/invalid_transition/invalid_transition_with_integration_test.rb +0 -45
  200. data/test/unit/invalid_transition/invalid_transition_with_namespace_test.rb +0 -32
  201. data/test/unit/machine/machine_after_being_copied_test.rb +0 -62
  202. data/test/unit/machine/machine_after_changing_initial_state.rb +0 -28
  203. data/test/unit/machine/machine_after_changing_owner_class_test.rb +0 -31
  204. data/test/unit/machine/machine_by_default_test.rb +0 -160
  205. data/test/unit/machine/machine_finder_custom_options_test.rb +0 -17
  206. data/test/unit/machine/machine_finder_with_existing_machine_on_superclass_test.rb +0 -85
  207. data/test/unit/machine/machine_finder_with_existing_on_same_class_test.rb +0 -23
  208. data/test/unit/machine/machine_finder_without_existing_machine_test.rb +0 -25
  209. data/test/unit/machine/machine_persistence_test.rb +0 -52
  210. data/test/unit/machine/machine_state_initialization_test.rb +0 -56
  211. data/test/unit/machine/machine_test.rb +0 -30
  212. data/test/unit/machine/machine_with_action_already_overridden_test.rb +0 -23
  213. data/test/unit/machine/machine_with_action_defined_in_class_test.rb +0 -37
  214. data/test/unit/machine/machine_with_action_defined_in_included_module_test.rb +0 -46
  215. data/test/unit/machine/machine_with_action_defined_in_superclass_test.rb +0 -43
  216. data/test/unit/machine/machine_with_action_undefined_test.rb +0 -33
  217. data/test/unit/machine/machine_with_cached_state_test.rb +0 -20
  218. data/test/unit/machine/machine_with_class_helpers_test.rb +0 -179
  219. data/test/unit/machine/machine_with_conflicting_helpers_after_definition_test.rb +0 -244
  220. data/test/unit/machine/machine_with_conflicting_helpers_before_definition_test.rb +0 -175
  221. data/test/unit/machine/machine_with_custom_action_test.rb +0 -11
  222. data/test/unit/machine/machine_with_custom_attribute_test.rb +0 -103
  223. data/test/unit/machine/machine_with_custom_initialize_test.rb +0 -24
  224. data/test/unit/machine/machine_with_custom_integration_test.rb +0 -72
  225. data/test/unit/machine/machine_with_custom_invalidation_test.rb +0 -39
  226. data/test/unit/machine/machine_with_custom_name_test.rb +0 -57
  227. data/test/unit/machine/machine_with_custom_plural_test.rb +0 -52
  228. data/test/unit/machine/machine_with_dynamic_initial_state_test.rb +0 -65
  229. data/test/unit/machine/machine_with_event_matchers_test.rb +0 -41
  230. data/test/unit/machine/machine_with_events_test.rb +0 -52
  231. data/test/unit/machine/machine_with_events_with_custom_human_names_test.rb +0 -18
  232. data/test/unit/machine/machine_with_events_with_transitions_test.rb +0 -37
  233. data/test/unit/machine/machine_with_existing_event_test.rb +0 -17
  234. data/test/unit/machine/machine_with_existing_machines_on_owner_class_test.rb +0 -20
  235. data/test/unit/machine/machine_with_existing_machines_with_same_attributes_on_owner_class_test.rb +0 -71
  236. data/test/unit/machine/machine_with_existing_machines_with_same_attributes_on_owner_subclass_test.rb +0 -31
  237. data/test/unit/machine/machine_with_existing_state_test.rb +0 -27
  238. data/test/unit/machine/machine_with_failure_callbacks_test.rb +0 -48
  239. data/test/unit/machine/machine_with_helpers_test.rb +0 -14
  240. data/test/unit/machine/machine_with_initial_state_with_value_and_owner_default.rb +0 -25
  241. data/test/unit/machine/machine_with_initialize_and_super_test.rb +0 -17
  242. data/test/unit/machine/machine_with_initialize_arguments_and_block_test.rb +0 -31
  243. data/test/unit/machine/machine_with_initialize_without_super_test.rb +0 -17
  244. data/test/unit/machine/machine_with_instance_helpers_test.rb +0 -179
  245. data/test/unit/machine/machine_with_integration_test.rb +0 -72
  246. data/test/unit/machine/machine_with_multiple_events_test.rb +0 -32
  247. data/test/unit/machine/machine_with_namespace_test.rb +0 -48
  248. data/test/unit/machine/machine_with_nil_action_test.rb +0 -27
  249. data/test/unit/machine/machine_with_other_states.rb +0 -22
  250. data/test/unit/machine/machine_with_owner_subclass_test.rb +0 -18
  251. data/test/unit/machine/machine_with_paths_test.rb +0 -25
  252. data/test/unit/machine/machine_with_private_action_test.rb +0 -43
  253. data/test/unit/machine/machine_with_state_matchers_test.rb +0 -41
  254. data/test/unit/machine/machine_with_state_with_matchers_test.rb +0 -19
  255. data/test/unit/machine/machine_with_states_test.rb +0 -55
  256. data/test/unit/machine/machine_with_states_with_behaviors_test.rb +0 -23
  257. data/test/unit/machine/machine_with_states_with_custom_human_names_test.rb +0 -18
  258. data/test/unit/machine/machine_with_states_with_custom_values_test.rb +0 -21
  259. data/test/unit/machine/machine_with_states_with_runtime_dependencies_test.rb +0 -19
  260. data/test/unit/machine/machine_with_static_initial_state_test.rb +0 -49
  261. data/test/unit/machine/machine_with_superclass_conflicting_helpers_after_definition_test.rb +0 -36
  262. data/test/unit/machine/machine_with_transition_callbacks_test.rb +0 -144
  263. data/test/unit/machine/machine_with_transitions_test.rb +0 -87
  264. data/test/unit/machine/machine_without_initialization_test.rb +0 -31
  265. data/test/unit/machine/machine_without_initialize_test.rb +0 -14
  266. data/test/unit/machine/machine_without_integration_test.rb +0 -31
  267. data/test/unit/machine_collection/machine_collection_by_default_test.rb +0 -11
  268. data/test/unit/machine_collection/machine_collection_fire_test.rb +0 -80
  269. data/test/unit/machine_collection/machine_collection_fire_with_transactions_test.rb +0 -54
  270. data/test/unit/machine_collection/machine_collection_fire_with_validations_test.rb +0 -76
  271. data/test/unit/machine_collection/machine_collection_state_initialization_test.rb +0 -111
  272. data/test/unit/machine_collection/machine_collection_transitions_with_blank_events_test.rb +0 -25
  273. data/test/unit/machine_collection/machine_collection_transitions_with_custom_options_test.rb +0 -20
  274. data/test/unit/machine_collection/machine_collection_transitions_with_different_actions_test.rb +0 -26
  275. data/test/unit/machine_collection/machine_collection_transitions_with_exisiting_transitions_test.rb +0 -25
  276. data/test/unit/machine_collection/machine_collection_transitions_with_invalid_events_test.rb +0 -25
  277. data/test/unit/machine_collection/machine_collection_transitions_with_same_actions_test.rb +0 -31
  278. data/test/unit/machine_collection/machine_collection_transitions_with_transition_test.rb +0 -26
  279. data/test/unit/machine_collection/machine_collection_transitions_without_events_test.rb +0 -25
  280. data/test/unit/machine_collection/machine_collection_transitions_without_transition_test.rb +0 -27
  281. data/test/unit/matcher/all_matcher_test.rb +0 -29
  282. data/test/unit/matcher/blacklist_matcher_test.rb +0 -30
  283. data/test/unit/matcher/loopback_matcher_test.rb +0 -27
  284. data/test/unit/matcher/matcher_by_default_test.rb +0 -15
  285. data/test/unit/matcher/matcher_with_multiple_values_test.rb +0 -15
  286. data/test/unit/matcher/matcher_with_value_test.rb +0 -15
  287. data/test/unit/matcher/whitelist_matcher_test.rb +0 -30
  288. data/test/unit/matcher_helpers/matcher_helpers_all_test.rb +0 -14
  289. data/test/unit/matcher_helpers/matcher_helpers_any_test.rb +0 -14
  290. data/test/unit/matcher_helpers/matcher_helpers_same_test.rb +0 -13
  291. data/test/unit/node_collection/node_collection_after_being_copied_test.rb +0 -46
  292. data/test/unit/node_collection/node_collection_after_update_test.rb +0 -36
  293. data/test/unit/node_collection/node_collection_by_default_test.rb +0 -22
  294. data/test/unit/node_collection/node_collection_test.rb +0 -23
  295. data/test/unit/node_collection/node_collection_with_indices_test.rb +0 -42
  296. data/test/unit/node_collection/node_collection_with_matcher_contexts_test.rb +0 -25
  297. data/test/unit/node_collection/node_collection_with_nodes_test.rb +0 -46
  298. data/test/unit/node_collection/node_collection_with_numeric_index_test.rb +0 -24
  299. data/test/unit/node_collection/node_collection_with_postdefined_contexts_test.rb +0 -22
  300. data/test/unit/node_collection/node_collection_with_predefined_contexts_test.rb +0 -23
  301. data/test/unit/node_collection/node_collection_with_string_index_test.rb +0 -20
  302. data/test/unit/node_collection/node_collection_with_symbol_index_test.rb +0 -20
  303. data/test/unit/node_collection/node_collection_without_indices_test.rb +0 -30
  304. data/test/unit/path/path_by_default_test.rb +0 -54
  305. data/test/unit/path/path_test.rb +0 -14
  306. data/test/unit/path/path_with_available_transitions_after_reaching_target_test.rb +0 -40
  307. data/test/unit/path/path_with_available_transitions_test.rb +0 -54
  308. data/test/unit/path/path_with_deep_target_reached_test.rb +0 -50
  309. data/test/unit/path/path_with_deep_target_test.rb +0 -40
  310. data/test/unit/path/path_with_duplicates_test.rb +0 -32
  311. data/test/unit/path/path_with_encountered_transitions_test.rb +0 -34
  312. data/test/unit/path/path_with_guarded_transitions_test.rb +0 -42
  313. data/test/unit/path/path_with_reached_target_test.rb +0 -35
  314. data/test/unit/path/path_with_transitions_test.rb +0 -54
  315. data/test/unit/path/path_with_unreached_target_test.rb +0 -31
  316. data/test/unit/path/path_without_transitions_test.rb +0 -24
  317. data/test/unit/path_collection/path_collection_by_default_test.rb +0 -46
  318. data/test/unit/path_collection/path_collection_test.rb +0 -24
  319. data/test/unit/path_collection/path_collection_with_deep_paths_test.rb +0 -43
  320. data/test/unit/path_collection/path_collection_with_duplicate_nodes_test.rb +0 -31
  321. data/test/unit/path_collection/path_collection_with_from_state_test.rb +0 -27
  322. data/test/unit/path_collection/path_collection_with_paths_test.rb +0 -47
  323. data/test/unit/path_collection/path_collection_with_to_state_test.rb +0 -29
  324. data/test/unit/path_collection/path_with_guarded_paths_test.rb +0 -25
  325. data/test/unit/state/state_after_being_copied_test.rb +0 -19
  326. data/test/unit/state/state_by_default_test.rb +0 -41
  327. data/test/unit/state/state_final_test.rb +0 -28
  328. data/test/unit/state/state_initial_test.rb +0 -13
  329. data/test/unit/state/state_not_final_test.rb +0 -32
  330. data/test/unit/state/state_not_initial_test.rb +0 -13
  331. data/test/unit/state/state_test.rb +0 -44
  332. data/test/unit/state/state_with_cached_lambda_value_test.rb +0 -29
  333. data/test/unit/state/state_with_conflicting_helpers_after_definition_test.rb +0 -38
  334. data/test/unit/state/state_with_conflicting_helpers_before_definition_test.rb +0 -29
  335. data/test/unit/state/state_with_conflicting_machine_name_test.rb +0 -20
  336. data/test/unit/state/state_with_conflicting_machine_test.rb +0 -37
  337. data/test/unit/state/state_with_context_test.rb +0 -60
  338. data/test/unit/state/state_with_dynamic_human_name_test.rb +0 -25
  339. data/test/unit/state/state_with_existing_context_method_test.rb +0 -24
  340. data/test/unit/state/state_with_human_name_test.rb +0 -13
  341. data/test/unit/state/state_with_integer_value_test.rb +0 -32
  342. data/test/unit/state/state_with_invalid_method_call_test.rb +0 -21
  343. data/test/unit/state/state_with_lambda_value_test.rb +0 -37
  344. data/test/unit/state/state_with_matcher_test.rb +0 -18
  345. data/test/unit/state/state_with_multiple_contexts_test.rb +0 -57
  346. data/test/unit/state/state_with_name_test.rb +0 -43
  347. data/test/unit/state/state_with_namespace_test.rb +0 -22
  348. data/test/unit/state/state_with_nil_value_test.rb +0 -35
  349. data/test/unit/state/state_with_redefined_context_method_test.rb +0 -45
  350. data/test/unit/state/state_with_symbolic_value_test.rb +0 -32
  351. data/test/unit/state/state_with_valid_inherited_method_call_for_current_state_test.rb +0 -40
  352. data/test/unit/state/state_with_valid_method_call_for_current_state_test.rb +0 -33
  353. data/test/unit/state/state_with_valid_method_call_for_different_state_test.rb +0 -41
  354. data/test/unit/state/state_without_cached_lambda_value_test.rb +0 -25
  355. data/test/unit/state/state_without_name_test.rb +0 -39
  356. data/test/unit/state_collection/state_collection_by_default_test.rb +0 -21
  357. data/test/unit/state_collection/state_collection_string_test.rb +0 -35
  358. data/test/unit/state_collection/state_collection_test.rb +0 -74
  359. data/test/unit/state_collection/state_collection_with_custom_state_values_test.rb +0 -29
  360. data/test/unit/state_collection/state_collection_with_event_transitions_test.rb +0 -39
  361. data/test/unit/state_collection/state_collection_with_initial_state_test.rb +0 -40
  362. data/test/unit/state_collection/state_collection_with_namespace_test.rb +0 -21
  363. data/test/unit/state_collection/state_collection_with_state_behaviors_test.rb +0 -40
  364. data/test/unit/state_collection/state_collection_with_state_matchers_test.rb +0 -29
  365. data/test/unit/state_collection/state_collection_with_transition_callbacks_test.rb +0 -40
  366. data/test/unit/state_context/state_context_proxy_test.rb +0 -26
  367. data/test/unit/state_context/state_context_proxy_with_if_and_unless_conditions_test.rb +0 -42
  368. data/test/unit/state_context/state_context_proxy_with_if_condition_test.rb +0 -64
  369. data/test/unit/state_context/state_context_proxy_with_multiple_if_conditions_test.rb +0 -32
  370. data/test/unit/state_context/state_context_proxy_with_multiple_unless_conditions_test.rb +0 -32
  371. data/test/unit/state_context/state_context_proxy_with_unless_condition_test.rb +0 -64
  372. data/test/unit/state_context/state_context_proxy_without_conditions_test.rb +0 -31
  373. data/test/unit/state_context/state_context_test.rb +0 -28
  374. data/test/unit/state_context/state_context_transition_test.rb +0 -104
  375. data/test/unit/state_context/state_context_with_matching_transition_test.rb +0 -27
  376. data/test/unit/state_machine/state_machine_by_default_test.rb +0 -12
  377. data/test/unit/state_machine/state_machine_test.rb +0 -20
  378. data/test/unit/transition/transition_after_being_performed_test.rb +0 -48
  379. data/test/unit/transition/transition_after_being_persisted_test.rb +0 -46
  380. data/test/unit/transition/transition_after_being_rolled_back_test.rb +0 -35
  381. data/test/unit/transition/transition_equality_test.rb +0 -52
  382. data/test/unit/transition/transition_loopback_test.rb +0 -18
  383. data/test/unit/transition/transition_test.rb +0 -96
  384. data/test/unit/transition/transition_transient_test.rb +0 -20
  385. data/test/unit/transition/transition_with_action_test.rb +0 -27
  386. data/test/unit/transition/transition_with_after_callbacks_skipped_test.rb +0 -127
  387. data/test/unit/transition/transition_with_after_callbacks_test.rb +0 -93
  388. data/test/unit/transition/transition_with_around_callbacks_test.rb +0 -141
  389. data/test/unit/transition/transition_with_before_callbacks_skipped_test.rb +0 -30
  390. data/test/unit/transition/transition_with_before_callbacks_test.rb +0 -104
  391. data/test/unit/transition/transition_with_custom_machine_attribute_test.rb +0 -28
  392. data/test/unit/transition/transition_with_different_states_test.rb +0 -18
  393. data/test/unit/transition/transition_with_dynamic_to_value_test.rb +0 -19
  394. data/test/unit/transition/transition_with_failure_callbacks_test.rb +0 -84
  395. data/test/unit/transition/transition_with_invalid_nodes_test.rb +0 -29
  396. data/test/unit/transition/transition_with_mixed_callbacks_test.rb +0 -105
  397. data/test/unit/transition/transition_with_multiple_after_callbacks_test.rb +0 -40
  398. data/test/unit/transition/transition_with_multiple_around_callbacks_test.rb +0 -114
  399. data/test/unit/transition/transition_with_multiple_before_callbacks_test.rb +0 -40
  400. data/test/unit/transition/transition_with_multiple_failure_callbacks_test.rb +0 -40
  401. data/test/unit/transition/transition_with_namespace_test.rb +0 -47
  402. data/test/unit/transition/transition_with_perform_arguments_test.rb +0 -35
  403. data/test/unit/transition/transition_with_transactions_test.rb +0 -42
  404. data/test/unit/transition/transition_without_callbacks_test.rb +0 -33
  405. data/test/unit/transition/transition_without_reading_state_test.rb +0 -22
  406. data/test/unit/transition/transition_without_running_action_test.rb +0 -47
  407. data/test/unit/transition_collection/attribute_transition_collection_by_default_test.rb +0 -23
  408. data/test/unit/transition_collection/attribute_transition_collection_marshalling_test.rb +0 -64
  409. data/test/unit/transition_collection/attribute_transition_collection_with_action_error_test.rb +0 -44
  410. data/test/unit/transition_collection/attribute_transition_collection_with_action_failed_test.rb +0 -44
  411. data/test/unit/transition_collection/attribute_transition_collection_with_after_callback_error_test.rb +0 -32
  412. data/test/unit/transition_collection/attribute_transition_collection_with_after_callback_halt_test.rb +0 -33
  413. data/test/unit/transition_collection/attribute_transition_collection_with_around_after_yield_callback_error_test.rb +0 -32
  414. data/test/unit/transition_collection/attribute_transition_collection_with_around_callback_after_yield_error_test.rb +0 -32
  415. data/test/unit/transition_collection/attribute_transition_collection_with_around_callback_after_yield_halt_test.rb +0 -33
  416. data/test/unit/transition_collection/attribute_transition_collection_with_around_callback_before_yield_halt_test.rb +0 -33
  417. data/test/unit/transition_collection/attribute_transition_collection_with_before_callback_error_test.rb +0 -32
  418. data/test/unit/transition_collection/attribute_transition_collection_with_before_callback_halt_test.rb +0 -33
  419. data/test/unit/transition_collection/attribute_transition_collection_with_callbacks_test.rb +0 -68
  420. data/test/unit/transition_collection/attribute_transition_collection_with_event_transitions_test.rb +0 -41
  421. data/test/unit/transition_collection/attribute_transition_collection_with_events_test.rb +0 -44
  422. data/test/unit/transition_collection/attribute_transition_collection_with_skipped_after_callbacks_test.rb +0 -42
  423. data/test/unit/transition_collection/transition_collection_by_default_test.rb +0 -23
  424. data/test/unit/transition_collection/transition_collection_empty_with_block_test.rb +0 -23
  425. data/test/unit/transition_collection/transition_collection_empty_without_block_test.rb +0 -12
  426. data/test/unit/transition_collection/transition_collection_invalid_test.rb +0 -21
  427. data/test/unit/transition_collection/transition_collection_partial_invalid_test.rb +0 -69
  428. data/test/unit/transition_collection/transition_collection_test.rb +0 -26
  429. data/test/unit/transition_collection/transition_collection_valid_test.rb +0 -57
  430. data/test/unit/transition_collection/transition_collection_with_action_error_test.rb +0 -66
  431. data/test/unit/transition_collection/transition_collection_with_action_failed_test.rb +0 -60
  432. data/test/unit/transition_collection/transition_collection_with_action_hook_and_block_test.rb +0 -17
  433. data/test/unit/transition_collection/transition_collection_with_action_hook_and_skipped_action_test.rb +0 -17
  434. data/test/unit/transition_collection/transition_collection_with_action_hook_and_skipped_after_callbacks_test.rb +0 -37
  435. data/test/unit/transition_collection/transition_collection_with_action_hook_base_test.rb +0 -34
  436. data/test/unit/transition_collection/transition_collection_with_action_hook_error_test.rb +0 -29
  437. data/test/unit/transition_collection/transition_collection_with_action_hook_invalid_test.rb +0 -17
  438. data/test/unit/transition_collection/transition_collection_with_action_hook_multiple_test.rb +0 -79
  439. data/test/unit/transition_collection/transition_collection_with_action_hook_test.rb +0 -45
  440. data/test/unit/transition_collection/transition_collection_with_action_hook_with_different_actions_test.rb +0 -48
  441. data/test/unit/transition_collection/transition_collection_with_action_hook_with_nil_action_test.rb +0 -42
  442. data/test/unit/transition_collection/transition_collection_with_after_callback_halt_test.rb +0 -47
  443. data/test/unit/transition_collection/transition_collection_with_before_callback_halt_test.rb +0 -51
  444. data/test/unit/transition_collection/transition_collection_with_block_test.rb +0 -46
  445. data/test/unit/transition_collection/transition_collection_with_callbacks_test.rb +0 -135
  446. data/test/unit/transition_collection/transition_collection_with_different_actions_test.rb +0 -189
  447. data/test/unit/transition_collection/transition_collection_with_duplicate_actions_test.rb +0 -48
  448. data/test/unit/transition_collection/transition_collection_with_empty_actions_test.rb +0 -41
  449. data/test/unit/transition_collection/transition_collection_with_mixed_actions_test.rb +0 -41
  450. data/test/unit/transition_collection/transition_collection_with_skipped_actions_and_block_test.rb +0 -34
  451. data/test/unit/transition_collection/transition_collection_with_skipped_actions_test.rb +0 -69
  452. data/test/unit/transition_collection/transition_collection_with_skipped_after_callbacks_and_around_callbacks_test.rb +0 -53
  453. data/test/unit/transition_collection/transition_collection_with_skipped_after_callbacks_test.rb +0 -34
  454. data/test/unit/transition_collection/transition_collection_with_transactions_test.rb +0 -65
  455. data/test/unit/transition_collection/transition_collection_without_transactions_test.rb +0 -29
@@ -1,47 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class TransitionWithoutRunningActionTest < StateMachinesTest
4
- def setup
5
- @klass = Class.new do
6
- attr_reader :saved
7
-
8
- def save
9
- @saved = true
10
- end
11
- end
12
-
13
- @machine = StateMachines::Machine.new(@klass, action: :save)
14
- @machine.state :parked, :idling
15
- @machine.event :ignite
16
- @machine.after_transition { |_object| @run_after = true }
17
-
18
- @object = @klass.new
19
- @object.state = 'parked'
20
- @transition = StateMachines::Transition.new(@object, @machine, :ignite, :parked, :idling)
21
- @result = @transition.perform(false)
22
- end
23
-
24
- def test_should_have_empty_args
25
- assert_equal [], @transition.args
26
- end
27
-
28
- def test_should_not_have_a_result
29
- assert_nil @transition.result
30
- end
31
-
32
- def test_should_be_successful
33
- assert_equal true, @result
34
- end
35
-
36
- def test_should_change_the_current_state
37
- assert_equal 'idling', @object.state
38
- end
39
-
40
- def test_should_not_run_the_action
41
- refute @object.saved
42
- end
43
-
44
- def test_should_run_after_callbacks
45
- assert @run_after
46
- end
47
- end
@@ -1,23 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class AttributeTransitionCollectionByDefaultTest < StateMachinesTest
4
- def setup
5
- @transitions = StateMachines::AttributeTransitionCollection.new
6
- end
7
-
8
- def test_should_skip_actions
9
- assert @transitions.skip_actions
10
- end
11
-
12
- def test_should_not_skip_after
13
- refute @transitions.skip_after
14
- end
15
-
16
- def test_should_not_use_transaction
17
- refute @transitions.use_transactions
18
- end
19
-
20
- def test_should_be_empty
21
- assert @transitions.empty?
22
- end
23
- end
@@ -1,64 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class AttributeTransitionCollectionMarshallingTest < StateMachinesTest
4
- def setup
5
- @klass = Class.new
6
- self.class.const_set('Example', @klass)
7
-
8
- @machine = StateMachines::Machine.new(@klass, initial: :parked, action: :save)
9
- @machine.state :idling
10
- @machine.event :ignite
11
-
12
- @object = @klass.new
13
- @object.state_event = 'ignite'
14
- end
15
-
16
- def test_should_marshal_during_before_callbacks
17
- @machine.before_transition { |object, _transition| Marshal.dump(object) }
18
- transitions(after: false).perform { true }
19
- transitions.perform { true }
20
- end
21
-
22
- def test_should_marshal_during_action
23
- transitions(after: false).perform do
24
- Marshal.dump(@object)
25
- true
26
- end
27
-
28
- transitions.perform do
29
- Marshal.dump(@object)
30
- true
31
- end
32
- end
33
-
34
- def test_should_marshal_during_after_callbacks
35
- @machine.after_transition { |object, _transition| Marshal.dump(object) }
36
- transitions(after: false).perform { true }
37
- transitions.perform { true }
38
- end
39
-
40
- if StateMachines::Transition.pause_supported?
41
- def test_should_marshal_during_around_callbacks_before_yield
42
- @machine.around_transition { |object, _transition, block| Marshal.dump(object); block.call }
43
- transitions(after: false).perform { true }
44
- transitions.perform { true }
45
- end
46
-
47
- def test_should_marshal_during_around_callbacks_after_yield
48
- @machine.around_transition { |object, _transition, block| block.call; Marshal.dump(object) }
49
- transitions(after: false).perform { true }
50
- transitions.perform { true }
51
- end
52
- end
53
-
54
- def teardown
55
- self.class.send(:remove_const, 'Example')
56
- end
57
-
58
- private
59
- def transitions(options = {})
60
- StateMachines::AttributeTransitionCollection.new([
61
- StateMachines::Transition.new(@object, @machine, :ignite, :parked, :idling)
62
- ], options)
63
- end
64
- end
@@ -1,44 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class AttributeTransitionCollectionWithActionErrorTest < StateMachinesTest
4
- def setup
5
- @klass = Class.new
6
-
7
- @state = StateMachines::Machine.new(@klass, initial: :parked, action: :save)
8
- @state.state :idling
9
- @state.event :ignite
10
-
11
- @status = StateMachines::Machine.new(@klass, :status, initial: :first_gear, action: :save)
12
- @status.state :second_gear
13
- @status.event :shift_up
14
-
15
- @object = @klass.new
16
- @object.state_event = 'ignite'
17
- @object.status_event = 'shift_up'
18
-
19
- @transitions = StateMachines::AttributeTransitionCollection.new([
20
- @state_transition = StateMachines::Transition.new(@object, @state, :ignite, :parked, :idling),
21
- @status_transition = StateMachines::Transition.new(@object, @status, :shift_up, :first_gear, :second_gear)
22
- ])
23
-
24
- begin
25
- ; @transitions.perform { fail ArgumentError }
26
- rescue
27
- end
28
- end
29
-
30
- def test_should_not_persist_states
31
- assert_equal 'parked', @object.state
32
- assert_equal 'first_gear', @object.status
33
- end
34
-
35
- def test_should_not_clear_events
36
- assert_equal :ignite, @object.state_event
37
- assert_equal :shift_up, @object.status_event
38
- end
39
-
40
- def test_should_not_write_event_transitions
41
- assert_nil @object.send(:state_event_transition)
42
- assert_nil @object.send(:status_event_transition)
43
- end
44
- end
@@ -1,44 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class AttributeTransitionCollectionWithActionFailedTest < StateMachinesTest
4
- def setup
5
- @klass = Class.new
6
-
7
- @state = StateMachines::Machine.new(@klass, initial: :parked, action: :save)
8
- @state.state :idling
9
- @state.event :ignite
10
-
11
- @status = StateMachines::Machine.new(@klass, :status, initial: :first_gear, action: :save)
12
- @status.state :second_gear
13
- @status.event :shift_up
14
-
15
- @object = @klass.new
16
- @object.state_event = 'ignite'
17
- @object.status_event = 'shift_up'
18
-
19
- @transitions = StateMachines::AttributeTransitionCollection.new([
20
- @state_transition = StateMachines::Transition.new(@object, @state, :ignite, :parked, :idling),
21
- @status_transition = StateMachines::Transition.new(@object, @status, :shift_up, :first_gear, :second_gear)
22
- ])
23
- @result = @transitions.perform { false }
24
- end
25
-
26
- def test_should_not_succeed
27
- assert_equal false, @result
28
- end
29
-
30
- def test_should_not_persist_states
31
- assert_equal 'parked', @object.state
32
- assert_equal 'first_gear', @object.status
33
- end
34
-
35
- def test_should_not_clear_events
36
- assert_equal :ignite, @object.state_event
37
- assert_equal :shift_up, @object.status_event
38
- end
39
-
40
- def test_should_not_write_event_transitions
41
- assert_nil @object.send(:state_event_transition)
42
- assert_nil @object.send(:status_event_transition)
43
- end
44
- end
@@ -1,32 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class AttributeTransitionCollectionWithBeforeCallbackErrorTest < StateMachinesTest
4
- def setup
5
- @klass = Class.new
6
-
7
- @machine = StateMachines::Machine.new(@klass, initial: :parked, action: :save)
8
- @machine.state :idling
9
- @machine.event :ignite
10
-
11
- @machine.before_transition { fail ArgumentError }
12
-
13
- @object = @klass.new
14
- @object.state_event = 'ignite'
15
-
16
- @transitions = StateMachines::AttributeTransitionCollection.new([
17
- StateMachines::Transition.new(@object, @machine, :ignite, :parked, :idling)
18
- ])
19
- begin
20
- ; @transitions.perform
21
- rescue
22
- end
23
- end
24
-
25
- def test_should_not_clear_event
26
- assert_equal :ignite, @object.state_event
27
- end
28
-
29
- def test_should_not_write_event_transition
30
- assert_nil @object.send(:state_event_transition)
31
- end
32
- end
@@ -1,33 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class AttributeTransitionCollectionWithBeforeCallbackHaltTest < StateMachinesTest
4
- def setup
5
- @klass = Class.new
6
-
7
- @machine = StateMachines::Machine.new(@klass, initial: :parked, action: :save)
8
- @machine.state :idling
9
- @machine.event :ignite
10
-
11
- @machine.before_transition { throw :halt }
12
-
13
- @object = @klass.new
14
- @object.state_event = 'ignite'
15
-
16
- @transitions = StateMachines::AttributeTransitionCollection.new([
17
- StateMachines::Transition.new(@object, @machine, :ignite, :parked, :idling)
18
- ])
19
- @result = @transitions.perform
20
- end
21
-
22
- def test_should_not_succeed
23
- assert_equal false, @result
24
- end
25
-
26
- def test_should_not_clear_event
27
- assert_equal :ignite, @object.state_event
28
- end
29
-
30
- def test_should_not_write_event_transition
31
- assert_nil @object.send(:state_event_transition)
32
- end
33
- end
@@ -1,32 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class AttributeTransitionCollectionWithAroundAfterYieldCallbackErrorTest < StateMachinesTest
4
- def setup
5
- @klass = Class.new
6
-
7
- @machine = StateMachines::Machine.new(@klass, initial: :parked, action: :save)
8
- @machine.state :idling
9
- @machine.event :ignite
10
-
11
- @machine.before_transition { fail ArgumentError }
12
-
13
- @object = @klass.new
14
- @object.state_event = 'ignite'
15
-
16
- @transitions = StateMachines::AttributeTransitionCollection.new([
17
- StateMachines::Transition.new(@object, @machine, :ignite, :parked, :idling)
18
- ])
19
- begin
20
- ; @transitions.perform
21
- rescue
22
- end
23
- end
24
-
25
- def test_should_not_clear_event
26
- assert_equal :ignite, @object.state_event
27
- end
28
-
29
- def test_should_not_write_event_transition
30
- assert_nil @object.send(:state_event_transition)
31
- end
32
- end
@@ -1,32 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class AttributeTransitionCollectionWithAroundCallbackAfterYieldErrorTest < StateMachinesTest
4
- def setup
5
- @klass = Class.new
6
-
7
- @machine = StateMachines::Machine.new(@klass, initial: :parked, action: :save)
8
- @machine.state :idling
9
- @machine.event :ignite
10
-
11
- @machine.around_transition { |block| block.call; fail ArgumentError }
12
-
13
- @object = @klass.new
14
- @object.state_event = 'ignite'
15
-
16
- @transitions = StateMachines::AttributeTransitionCollection.new([
17
- StateMachines::Transition.new(@object, @machine, :ignite, :parked, :idling)
18
- ])
19
- begin
20
- ; @transitions.perform
21
- rescue
22
- end
23
- end
24
-
25
- def test_should_clear_event
26
- assert_nil @object.state_event
27
- end
28
-
29
- def test_should_not_write_event_transition
30
- assert_nil @object.send(:state_event_transition)
31
- end
32
- end
@@ -1,33 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class AttributeTransitionCollectionWithAroundCallbackAfterYieldHaltTest < StateMachinesTest
4
- def setup
5
- @klass = Class.new
6
-
7
- @machine = StateMachines::Machine.new(@klass, initial: :parked, action: :save)
8
- @machine.state :idling
9
- @machine.event :ignite
10
-
11
- @machine.around_transition { |block| block.call; throw :halt }
12
-
13
- @object = @klass.new
14
- @object.state_event = 'ignite'
15
-
16
- @transitions = StateMachines::AttributeTransitionCollection.new([
17
- StateMachines::Transition.new(@object, @machine, :ignite, :parked, :idling)
18
- ])
19
- @result = @transitions.perform
20
- end
21
-
22
- def test_should_succeed
23
- assert_equal true, @result
24
- end
25
-
26
- def test_should_clear_event
27
- assert_nil @object.state_event
28
- end
29
-
30
- def test_should_not_write_event_transition
31
- assert_nil @object.send(:state_event_transition)
32
- end
33
- end
@@ -1,33 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class AttributeTransitionCollectionWithAroundCallbackBeforeYieldHaltTest < StateMachinesTest
4
- def setup
5
- @klass = Class.new
6
-
7
- @machine = StateMachines::Machine.new(@klass, initial: :parked, action: :save)
8
- @machine.state :idling
9
- @machine.event :ignite
10
-
11
- @machine.around_transition { throw :halt }
12
-
13
- @object = @klass.new
14
- @object.state_event = 'ignite'
15
-
16
- @transitions = StateMachines::AttributeTransitionCollection.new([
17
- StateMachines::Transition.new(@object, @machine, :ignite, :parked, :idling)
18
- ])
19
- @result = @transitions.perform
20
- end
21
-
22
- def test_should_not_succeed
23
- assert_equal false, @result
24
- end
25
-
26
- def test_should_not_clear_event
27
- assert_equal :ignite, @object.state_event
28
- end
29
-
30
- def test_should_not_write_event_transition
31
- assert_nil @object.send(:state_event_transition)
32
- end
33
- end
@@ -1,32 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class AttributeTransitionCollectionWithAfterCallbackErrorTest < StateMachinesTest
4
- def setup
5
- @klass = Class.new
6
-
7
- @machine = StateMachines::Machine.new(@klass, initial: :parked, action: :save)
8
- @machine.state :idling
9
- @machine.event :ignite
10
-
11
- @machine.after_transition { fail ArgumentError }
12
-
13
- @object = @klass.new
14
- @object.state_event = 'ignite'
15
-
16
- @transitions = StateMachines::AttributeTransitionCollection.new([
17
- StateMachines::Transition.new(@object, @machine, :ignite, :parked, :idling)
18
- ])
19
- begin
20
- ; @transitions.perform
21
- rescue
22
- end
23
- end
24
-
25
- def test_should_clear_event
26
- assert_nil @object.state_event
27
- end
28
-
29
- def test_should_not_write_event_transition
30
- assert_nil @object.send(:state_event_transition)
31
- end
32
- end
@@ -1,33 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class AttributeTransitionCollectionWithAfterCallbackHaltTest < StateMachinesTest
4
- def setup
5
- @klass = Class.new
6
-
7
- @machine = StateMachines::Machine.new(@klass, initial: :parked, action: :save)
8
- @machine.state :idling
9
- @machine.event :ignite
10
-
11
- @machine.after_transition { throw :halt }
12
-
13
- @object = @klass.new
14
- @object.state_event = 'ignite'
15
-
16
- @transitions = StateMachines::AttributeTransitionCollection.new([
17
- StateMachines::Transition.new(@object, @machine, :ignite, :parked, :idling)
18
- ])
19
- @result = @transitions.perform
20
- end
21
-
22
- def test_should_succeed
23
- assert_equal true, @result
24
- end
25
-
26
- def test_should_clear_event
27
- assert_nil @object.state_event
28
- end
29
-
30
- def test_should_not_write_event_transition
31
- assert_nil @object.send(:state_event_transition)
32
- end
33
- end
@@ -1,68 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class AttributeTransitionCollectionWithCallbacksTest < StateMachinesTest
4
- def setup
5
- @klass = Class.new
6
-
7
- @state = StateMachines::Machine.new(@klass, initial: :parked, action: :save)
8
- @state.state :idling
9
- @state.event :ignite
10
-
11
- @status = StateMachines::Machine.new(@klass, :status, initial: :first_gear, action: :save)
12
- @status.state :second_gear
13
- @status.event :shift_up
14
-
15
- @object = @klass.new
16
-
17
- @transitions = StateMachines::AttributeTransitionCollection.new([
18
- @state_transition = StateMachines::Transition.new(@object, @state, :ignite, :parked, :idling),
19
- @status_transition = StateMachines::Transition.new(@object, @status, :shift_up, :first_gear, :second_gear)
20
- ])
21
- end
22
-
23
- def test_should_not_have_events_during_before_callbacks
24
- @state.before_transition { |object, _transition| @before_state_event = object.state_event }
25
- @state.around_transition { |object, _transition, block| @around_state_event = object.state_event; block.call }
26
- @transitions.perform
27
-
28
- assert_nil @before_state_event
29
- assert_nil @around_state_event
30
- end
31
-
32
- def test_should_not_have_events_during_action
33
- @transitions.perform { @state_event = @object.state_event }
34
-
35
- assert_nil @state_event
36
- end
37
-
38
- def test_should_not_have_events_during_after_callbacks
39
- @state.after_transition { |object, _transition| @after_state_event = object.state_event }
40
- @state.around_transition { |object, _transition, block| block.call; @around_state_event = object.state_event }
41
- @transitions.perform
42
-
43
- assert_nil @after_state_event
44
- assert_nil @around_state_event
45
- end
46
-
47
- def test_should_not_have_event_transitions_during_before_callbacks
48
- @state.before_transition { |object, _transition| @state_event_transition = object.send(:state_event_transition) }
49
- @transitions.perform
50
-
51
- assert_nil @state_event_transition
52
- end
53
-
54
- def test_should_not_have_event_transitions_during_action
55
- @transitions.perform { @state_event_transition = @object.send(:state_event_transition) }
56
-
57
- assert_nil @state_event_transition
58
- end
59
-
60
- def test_should_not_have_event_transitions_during_after_callbacks
61
- @state.after_transition { |object, _transition| @after_state_event_transition = object.send(:state_event_transition) }
62
- @state.around_transition { |object, _transition, block| block.call; @around_state_event_transition = object.send(:state_event_transition) }
63
- @transitions.perform
64
-
65
- assert_nil @after_state_event_transition
66
- assert_nil @around_state_event_transition
67
- end
68
- end
@@ -1,41 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class AttributeTransitionCollectionWithEventTransitionsTest < StateMachinesTest
4
- def setup
5
- @klass = Class.new
6
-
7
- @state = StateMachines::Machine.new(@klass, initial: :parked, action: :save)
8
- @state.state :idling
9
- @state.event :ignite
10
-
11
- @status = StateMachines::Machine.new(@klass, :status, initial: :first_gear, action: :save)
12
- @status.state :second_gear
13
- @status.event :shift_up
14
-
15
- @object = @klass.new
16
- @object.send(:state_event_transition=, @state_transition = StateMachines::Transition.new(@object, @state, :ignite, :parked, :idling))
17
- @object.send(:status_event_transition=, @status_transition = StateMachines::Transition.new(@object, @status, :shift_up, :first_gear, :second_gear))
18
-
19
- @transitions = StateMachines::AttributeTransitionCollection.new([@state_transition, @status_transition])
20
- @result = @transitions.perform
21
- end
22
-
23
- def test_should_succeed
24
- assert_equal true, @result
25
- end
26
-
27
- def test_should_persist_states
28
- assert_equal 'idling', @object.state
29
- assert_equal 'second_gear', @object.status
30
- end
31
-
32
- def test_should_not_write_events
33
- assert_nil @object.state_event
34
- assert_nil @object.status_event
35
- end
36
-
37
- def test_should_clear_event_transitions
38
- assert_nil @object.send(:state_event_transition)
39
- assert_nil @object.send(:status_event_transition)
40
- end
41
- end
@@ -1,44 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class AttributeTransitionCollectionWithEventsTest < StateMachinesTest
4
- def setup
5
- @klass = Class.new
6
-
7
- @state = StateMachines::Machine.new(@klass, initial: :parked, action: :save)
8
- @state.state :idling
9
- @state.event :ignite
10
-
11
- @status = StateMachines::Machine.new(@klass, :status, initial: :first_gear, action: :save)
12
- @status.state :second_gear
13
- @status.event :shift_up
14
-
15
- @object = @klass.new
16
- @object.state_event = 'ignite'
17
- @object.status_event = 'shift_up'
18
-
19
- @transitions = StateMachines::AttributeTransitionCollection.new([
20
- @state_transition = StateMachines::Transition.new(@object, @state, :ignite, :parked, :idling),
21
- @status_transition = StateMachines::Transition.new(@object, @status, :shift_up, :first_gear, :second_gear)
22
- ])
23
- @result = @transitions.perform
24
- end
25
-
26
- def test_should_succeed
27
- assert_equal true, @result
28
- end
29
-
30
- def test_should_persist_states
31
- assert_equal 'idling', @object.state
32
- assert_equal 'second_gear', @object.status
33
- end
34
-
35
- def test_should_clear_events
36
- assert_nil @object.state_event
37
- assert_nil @object.status_event
38
- end
39
-
40
- def test_should_not_write_event_transitions
41
- assert_nil @object.send(:state_event_transition)
42
- assert_nil @object.send(:status_event_transition)
43
- end
44
- end