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,41 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithDifferentRequirementsTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @branch = StateMachines::Branch.new(from: :parked, to: :idling, on: :ignite)
7
- end
8
-
9
- def test_should_match_empty_query
10
- assert @branch.matches?(@object)
11
- end
12
-
13
- def test_should_match_if_all_requirements_match
14
- assert @branch.matches?(@object, from: :parked, to: :idling, on: :ignite)
15
- end
16
-
17
- def test_should_not_match_if_from_not_included
18
- refute @branch.matches?(@object, from: :idling)
19
- end
20
-
21
- def test_should_not_match_if_to_not_included
22
- refute @branch.matches?(@object, to: :parked)
23
- end
24
-
25
- def test_should_not_match_if_on_not_included
26
- refute @branch.matches?(@object, on: :park)
27
- end
28
-
29
- def test_should_be_nil_if_unmatched
30
- assert_nil @branch.match(@object, from: :parked, to: :idling, on: :park)
31
- end
32
-
33
- def test_should_include_all_known_states
34
- assert_equal [:parked, :idling], @branch.known_states
35
- end
36
-
37
- def test_should_not_duplicate_known_statse
38
- branch = StateMachines::Branch.new(except_from: :idling, to: :idling, on: :ignite)
39
- assert_equal [:idling], branch.known_states
40
- end
41
- end
@@ -1,8 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithExceptFromMatcherRequirementTest < StateMachinesTest
4
- def test_should_raise_an_exception
5
- exception = assert_raises(ArgumentError) { StateMachines::Branch.new(except_from: StateMachines::AllMatcher.instance) }
6
- assert_equal ':except_from option cannot use matchers; use :from instead', exception.message
7
- end
8
- end
@@ -1,36 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithExceptFromRequirementTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @branch = StateMachines::Branch.new(except_from: :parked)
7
- end
8
-
9
- def test_should_use_a_blacklist_matcher
10
- assert_instance_of StateMachines::BlacklistMatcher, @branch.state_requirements.first[:from]
11
- end
12
-
13
- def test_should_match_if_not_included
14
- assert @branch.matches?(@object, from: :idling)
15
- end
16
-
17
- def test_should_not_match_if_included
18
- refute @branch.matches?(@object, from: :parked)
19
- end
20
-
21
- def test_should_match_if_nil
22
- assert @branch.matches?(@object, from: nil)
23
- end
24
-
25
- def test_should_ignore_to
26
- assert @branch.matches?(@object, from: :idling, to: :parked)
27
- end
28
-
29
- def test_should_ignore_on
30
- assert @branch.matches?(@object, from: :idling, on: :ignite)
31
- end
32
-
33
- def test_should_be_included_in_known_states
34
- assert_equal [:parked], @branch.known_states
35
- end
36
- end
@@ -1,8 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithExceptOnMatcherRequirementTest < StateMachinesTest
4
- def test_should_raise_an_exception
5
- exception = assert_raises(ArgumentError) { StateMachines::Branch.new(except_on: StateMachines::AllMatcher.instance) }
6
- assert_equal ':except_on option cannot use matchers; use :on instead', exception.message
7
- end
8
- end
@@ -1,36 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithExceptOnRequirementTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @branch = StateMachines::Branch.new(except_on: :ignite)
7
- end
8
-
9
- def test_should_use_a_blacklist_matcher
10
- assert_instance_of StateMachines::BlacklistMatcher, @branch.event_requirement
11
- end
12
-
13
- def test_should_match_if_not_included
14
- assert @branch.matches?(@object, on: :park)
15
- end
16
-
17
- def test_should_not_match_if_included
18
- refute @branch.matches?(@object, on: :ignite)
19
- end
20
-
21
- def test_should_match_if_nil
22
- assert @branch.matches?(@object, on: nil)
23
- end
24
-
25
- def test_should_ignore_to
26
- assert @branch.matches?(@object, on: :park, to: :idling)
27
- end
28
-
29
- def test_should_ignore_from
30
- assert @branch.matches?(@object, on: :park, from: :parked)
31
- end
32
-
33
- def test_should_not_be_included_in_known_states
34
- assert_equal [], @branch.known_states
35
- end
36
- end
@@ -1,8 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithExceptToMatcherRequirementTest < StateMachinesTest
4
- def test_should_raise_an_exception
5
- exception = assert_raises(ArgumentError) { StateMachines::Branch.new(except_to: StateMachines::AllMatcher.instance) }
6
- assert_equal ':except_to option cannot use matchers; use :to instead', exception.message
7
- end
8
- end
@@ -1,36 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithExceptToRequirementTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @branch = StateMachines::Branch.new(except_to: :idling)
7
- end
8
-
9
- def test_should_use_a_blacklist_matcher
10
- assert_instance_of StateMachines::BlacklistMatcher, @branch.state_requirements.first[:to]
11
- end
12
-
13
- def test_should_match_if_not_included
14
- assert @branch.matches?(@object, to: :parked)
15
- end
16
-
17
- def test_should_not_match_if_included
18
- refute @branch.matches?(@object, to: :idling)
19
- end
20
-
21
- def test_should_match_if_nil
22
- assert @branch.matches?(@object, to: nil)
23
- end
24
-
25
- def test_should_ignore_from
26
- assert @branch.matches?(@object, to: :parked, from: :idling)
27
- end
28
-
29
- def test_should_ignore_on
30
- assert @branch.matches?(@object, to: :parked, on: :ignite)
31
- end
32
-
33
- def test_should_be_included_in_known_states
34
- assert_equal [:idling], @branch.known_states
35
- end
36
- end
@@ -1,20 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithFromMatcherRequirementTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @branch = StateMachines::Branch.new(from: StateMachines::BlacklistMatcher.new([:idling, :parked]))
7
- end
8
-
9
- def test_should_match_if_included
10
- assert @branch.matches?(@object, from: :first_gear)
11
- end
12
-
13
- def test_should_not_match_if_not_included
14
- refute @branch.matches?(@object, from: :idling)
15
- end
16
-
17
- def test_include_values_in_known_states
18
- assert_equal [:idling, :parked], @branch.known_states
19
- end
20
- end
@@ -1,45 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithFromRequirementTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @branch = StateMachines::Branch.new(from: :parked)
7
- end
8
-
9
- def test_should_use_a_whitelist_matcher
10
- assert_instance_of StateMachines::WhitelistMatcher, @branch.state_requirements.first[:from]
11
- end
12
-
13
- def test_should_match_if_not_specified
14
- assert @branch.matches?(@object, to: :idling)
15
- end
16
-
17
- def test_should_match_if_included
18
- assert @branch.matches?(@object, from: :parked)
19
- end
20
-
21
- def test_should_not_match_if_not_included
22
- refute @branch.matches?(@object, from: :idling)
23
- end
24
-
25
- def test_should_not_match_if_nil
26
- refute @branch.matches?(@object, from: nil)
27
- end
28
-
29
- def test_should_ignore_to
30
- assert @branch.matches?(@object, from: :parked, to: :idling)
31
- end
32
-
33
- def test_should_ignore_on
34
- assert @branch.matches?(@object, from: :parked, on: :ignite)
35
- end
36
-
37
- def test_should_be_included_in_known_states
38
- assert_equal [:parked], @branch.known_states
39
- end
40
-
41
- def test_should_include_requirement_in_match
42
- match = @branch.match(@object, from: :parked)
43
- assert_equal @branch.state_requirements.first[:from], match[:from]
44
- end
45
- end
@@ -1,27 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithIfConditionalTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- end
7
-
8
- def test_should_have_an_if_condition
9
- branch = StateMachines::Branch.new(if: lambda { true })
10
- refute_nil branch.if_condition
11
- end
12
-
13
- def test_should_match_if_true
14
- branch = StateMachines::Branch.new(if: lambda { true })
15
- assert branch.matches?(@object)
16
- end
17
-
18
- def test_should_not_match_if_false
19
- branch = StateMachines::Branch.new(if: lambda { false })
20
- refute branch.matches?(@object)
21
- end
22
-
23
- def test_should_be_nil_if_unmatched
24
- branch = StateMachines::Branch.new(if: lambda { false })
25
- assert_nil branch.match(@object)
26
- end
27
- end
@@ -1,23 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithImplicitAndExplicitRequirementsTest < StateMachinesTest
4
- def setup
5
- @branch = StateMachines::Branch.new(parked: :idling, from: :parked)
6
- end
7
-
8
- def test_should_create_multiple_requirements
9
- assert_equal 2, @branch.state_requirements.length
10
- end
11
-
12
- def test_should_create_implicit_requirements_for_implicit_options
13
- assert(@branch.state_requirements.any? do |state_requirement|
14
- state_requirement[:from].values == [:parked] && state_requirement[:to].values == [:idling]
15
- end)
16
- end
17
-
18
- def test_should_create_implicit_requirements_for_explicit_options
19
- assert(@branch.state_requirements.any? do |state_requirement|
20
- state_requirement[:from].values == [:from] && state_requirement[:to].values == [:parked]
21
- end)
22
- end
23
- end
@@ -1,20 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithMultipleFromRequirementsTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @branch = StateMachines::Branch.new(from: [:idling, :parked])
7
- end
8
-
9
- def test_should_match_if_included
10
- assert @branch.matches?(@object, from: :idling)
11
- end
12
-
13
- def test_should_not_match_if_not_included
14
- refute @branch.matches?(@object, from: :first_gear)
15
- end
16
-
17
- def test_should_be_included_in_known_states
18
- assert_equal [:idling, :parked], @branch.known_states
19
- end
20
- end
@@ -1,20 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithImplicitRequirementTest < StateMachinesTest
4
- def setup
5
- @branch = StateMachines::Branch.new(parked: :idling, on: :ignite)
6
- end
7
-
8
- def test_should_create_an_event_requirement
9
- assert_instance_of StateMachines::WhitelistMatcher, @branch.event_requirement
10
- assert_equal [:ignite], @branch.event_requirement.values
11
- end
12
-
13
- def test_should_use_a_whitelist_from_matcher
14
- assert_instance_of StateMachines::WhitelistMatcher, @branch.state_requirements.first[:from]
15
- end
16
-
17
- def test_should_use_a_whitelist_to_matcher
18
- assert_instance_of StateMachines::WhitelistMatcher, @branch.state_requirements.first[:to]
19
- end
20
- end
@@ -1,16 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithImplicitToRequirementMatcherTest < StateMachinesTest
4
- def setup
5
- @matcher = StateMachines::BlacklistMatcher.new(:idling)
6
- @branch = StateMachines::Branch.new(parked: @matcher)
7
- end
8
-
9
- def test_should_convert_from_to_whitelist_matcher
10
- assert_instance_of StateMachines::WhitelistMatcher, @branch.state_requirements.first[:from]
11
- end
12
-
13
- def test_should_not_convert_to_to_whitelist_matcher
14
- assert_equal @matcher, @branch.state_requirements.first[:to]
15
- end
16
- end
@@ -1,20 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithMultipleExceptFromRequirementsTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @branch = StateMachines::Branch.new(except_from: [:idling, :parked])
7
- end
8
-
9
- def test_should_match_if_not_included
10
- assert @branch.matches?(@object, from: :first_gear)
11
- end
12
-
13
- def test_should_not_match_if_included
14
- refute @branch.matches?(@object, from: :idling)
15
- end
16
-
17
- def test_should_be_included_in_known_states
18
- assert_equal [:idling, :parked], @branch.known_states
19
- end
20
- end
@@ -1,16 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithMultipleExceptOnRequirementsTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @branch = StateMachines::Branch.new(except_on: [:ignite, :park])
7
- end
8
-
9
- def test_should_match_if_not_included
10
- assert @branch.matches?(@object, on: :shift_up)
11
- end
12
-
13
- def test_should_not_match_if_included
14
- refute @branch.matches?(@object, on: :ignite)
15
- end
16
- end
@@ -1,20 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithMultipleExceptToRequirementsTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @branch = StateMachines::Branch.new(except_to: [:idling, :parked])
7
- end
8
-
9
- def test_should_match_if_not_included
10
- assert @branch.matches?(@object, to: :first_gear)
11
- end
12
-
13
- def test_should_not_match_if_included
14
- refute @branch.matches?(@object, to: :idling)
15
- end
16
-
17
- def test_should_be_included_in_known_states
18
- assert_equal [:idling, :parked], @branch.known_states
19
- end
20
- end
@@ -1,16 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithImplicitFromRequirementMatcherTest < StateMachinesTest
4
- def setup
5
- @matcher = StateMachines::BlacklistMatcher.new(:parked)
6
- @branch = StateMachines::Branch.new(@matcher => :idling)
7
- end
8
-
9
- def test_should_not_convert_from_to_whitelist_matcher
10
- assert_equal @matcher, @branch.state_requirements.first[:from]
11
- end
12
-
13
- def test_should_convert_to_to_whitelist_matcher
14
- assert_instance_of StateMachines::WhitelistMatcher, @branch.state_requirements.first[:to]
15
- end
16
- end
@@ -1,20 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithMultipleIfConditionalsTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- end
7
-
8
- def test_should_match_if_all_are_true
9
- branch = StateMachines::Branch.new(if: [lambda { true }, lambda { true }])
10
- assert branch.match(@object)
11
- end
12
-
13
- def test_should_not_match_if_any_are_false
14
- branch = StateMachines::Branch.new(if: [lambda { true }, lambda { false }])
15
- refute branch.match(@object)
16
-
17
- branch = StateMachines::Branch.new(if: [lambda { false }, lambda { true }])
18
- refute branch.match(@object)
19
- end
20
- end
@@ -1,53 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithMultipleImplicitRequirementsTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @branch = StateMachines::Branch.new(parked: :idling, idling: :first_gear, on: :ignite)
7
- end
8
-
9
- def test_should_create_multiple_state_requirements
10
- assert_equal 2, @branch.state_requirements.length
11
- end
12
-
13
- def test_should_not_match_event_as_state_requirement
14
- refute @branch.matches?(@object, from: :on, to: :ignite)
15
- end
16
-
17
- def test_should_match_if_from_included_in_any
18
- assert @branch.matches?(@object, from: :parked)
19
- assert @branch.matches?(@object, from: :idling)
20
- end
21
-
22
- def test_should_not_match_if_from_not_included_in_any
23
- refute @branch.matches?(@object, from: :first_gear)
24
- end
25
-
26
- def test_should_match_if_to_included_in_any
27
- assert @branch.matches?(@object, to: :idling)
28
- assert @branch.matches?(@object, to: :first_gear)
29
- end
30
-
31
- def test_should_not_match_if_to_not_included_in_any
32
- refute @branch.matches?(@object, to: :parked)
33
- end
34
-
35
- def test_should_match_if_all_options_match
36
- assert @branch.matches?(@object, from: :parked, to: :idling, on: :ignite)
37
- assert @branch.matches?(@object, from: :idling, to: :first_gear, on: :ignite)
38
- end
39
-
40
- def test_should_not_match_if_any_options_do_not_match
41
- refute @branch.matches?(@object, from: :parked, to: :idling, on: :park)
42
- refute @branch.matches?(@object, from: :parked, to: :first_gear, on: :park)
43
- end
44
-
45
- def test_should_include_all_known_states
46
- assert_equal [:first_gear, :idling, :parked], @branch.known_states.sort_by { |state| state.to_s }
47
- end
48
-
49
- def test_should_not_duplicate_known_statse
50
- branch = StateMachines::Branch.new(parked: :idling, first_gear: :idling)
51
- assert_equal [:first_gear, :idling, :parked], branch.known_states.sort_by { |state| state.to_s }
52
- end
53
- end
@@ -1,20 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithMultipleToRequirementsTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @branch = StateMachines::Branch.new(to: [:idling, :parked])
7
- end
8
-
9
- def test_should_match_if_included
10
- assert @branch.matches?(@object, to: :idling)
11
- end
12
-
13
- def test_should_not_match_if_not_included
14
- refute @branch.matches?(@object, to: :first_gear)
15
- end
16
-
17
- def test_should_be_included_in_known_states
18
- assert_equal [:idling, :parked], @branch.known_states
19
- end
20
- end
@@ -1,20 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithMultipleUnlessConditionalsTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- end
7
-
8
- def test_should_match_if_all_are_false
9
- branch = StateMachines::Branch.new(unless: [lambda { false }, lambda { false }])
10
- assert branch.match(@object)
11
- end
12
-
13
- def test_should_not_match_if_any_are_true
14
- branch = StateMachines::Branch.new(unless: [lambda { true }, lambda { false }])
15
- refute branch.match(@object)
16
-
17
- branch = StateMachines::Branch.new(unless: [lambda { false }, lambda { true }])
18
- refute branch.match(@object)
19
- end
20
- end
@@ -1,28 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithNilRequirementsTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @branch = StateMachines::Branch.new(from: nil, to: nil)
7
- end
8
-
9
- def test_should_match_empty_query
10
- assert @branch.matches?(@object)
11
- end
12
-
13
- def test_should_match_if_all_requirements_match
14
- assert @branch.matches?(@object, from: nil, to: nil)
15
- end
16
-
17
- def test_should_not_match_if_from_not_included
18
- refute @branch.matches?(@object, from: :parked)
19
- end
20
-
21
- def test_should_not_match_if_to_not_included
22
- refute @branch.matches?(@object, to: :idling)
23
- end
24
-
25
- def test_should_include_all_known_states
26
- assert_equal [nil], @branch.known_states
27
- end
28
- end
@@ -1,36 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithNoRequirementsTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @branch = StateMachines::Branch.new
7
- end
8
-
9
- def test_should_use_all_matcher_for_event_requirement
10
- assert_equal StateMachines::AllMatcher.instance, @branch.event_requirement
11
- end
12
-
13
- def test_should_use_all_matcher_for_from_state_requirement
14
- assert_equal StateMachines::AllMatcher.instance, @branch.state_requirements.first[:from]
15
- end
16
-
17
- def test_should_use_all_matcher_for_to_state_requirement
18
- assert_equal StateMachines::AllMatcher.instance, @branch.state_requirements.first[:to]
19
- end
20
-
21
- def test_should_match_empty_query
22
- assert @branch.matches?(@object, {})
23
- end
24
-
25
- def test_should_match_non_empty_query
26
- assert @branch.matches?(@object, to: :idling, from: :parked, on: :ignite)
27
- end
28
-
29
- def test_should_include_all_requirements_in_match
30
- match = @branch.match(@object, {})
31
-
32
- assert_equal @branch.state_requirements.first[:from], match[:from]
33
- assert_equal @branch.state_requirements.first[:to], match[:to]
34
- assert_equal @branch.event_requirement, match[:on]
35
- end
36
- end
@@ -1,16 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class BranchWithOnMatcherRequirementTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @branch = StateMachines::Branch.new(on: StateMachines::BlacklistMatcher.new([:ignite, :park]))
7
- end
8
-
9
- def test_should_match_if_included
10
- assert @branch.matches?(@object, on: :shift_up)
11
- end
12
-
13
- def test_should_not_match_if_not_included
14
- refute @branch.matches?(@object, on: :ignite)
15
- end
16
- end