state_machines 0.5.0 → 0.10.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 (464) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE.txt +1 -1
  3. data/README.md +34 -15
  4. data/lib/state_machines/assertions.rb +2 -0
  5. data/lib/state_machines/branch.rb +85 -81
  6. data/lib/state_machines/callback.rb +24 -21
  7. data/lib/state_machines/core.rb +2 -0
  8. data/lib/state_machines/core_ext/class/state_machine.rb +2 -0
  9. data/lib/state_machines/core_ext.rb +2 -0
  10. data/lib/state_machines/error.rb +2 -0
  11. data/lib/state_machines/eval_helpers.rb +51 -22
  12. data/lib/state_machines/event.rb +35 -30
  13. data/lib/state_machines/event_collection.rb +28 -25
  14. data/lib/state_machines/extensions.rb +3 -1
  15. data/lib/state_machines/helper_module.rb +3 -1
  16. data/lib/state_machines/integrations/base.rb +2 -0
  17. data/lib/state_machines/integrations.rb +10 -8
  18. data/lib/state_machines/machine/class_methods.rb +79 -0
  19. data/lib/state_machines/machine.rb +381 -425
  20. data/lib/state_machines/machine_collection.rb +13 -10
  21. data/lib/state_machines/macro_methods.rb +102 -100
  22. data/lib/state_machines/matcher.rb +26 -23
  23. data/lib/state_machines/matcher_helpers.rb +13 -11
  24. data/lib/state_machines/node_collection.rb +17 -13
  25. data/lib/state_machines/path.rb +58 -55
  26. data/lib/state_machines/path_collection.rb +37 -35
  27. data/lib/state_machines/state.rb +50 -38
  28. data/lib/state_machines/state_collection.rb +22 -19
  29. data/lib/state_machines/state_context.rb +35 -35
  30. data/lib/state_machines/stdio_renderer.rb +74 -0
  31. data/lib/state_machines/transition.rb +182 -178
  32. data/lib/state_machines/transition_collection.rb +172 -168
  33. data/lib/state_machines/version.rb +3 -1
  34. data/lib/state_machines.rb +4 -1
  35. metadata +10 -439
  36. data/.gitignore +0 -21
  37. data/.rspec +0 -3
  38. data/.ruby-gemset +0 -1
  39. data/.ruby-version +0 -1
  40. data/.travis.yml +0 -16
  41. data/Changelog.md +0 -22
  42. data/Contributors.md +0 -39
  43. data/Gemfile +0 -8
  44. data/Rakefile +0 -12
  45. data/Testing.md +0 -0
  46. data/state_machines.gemspec +0 -22
  47. data/test/files/integrations/event_on_failure_integration.rb +0 -10
  48. data/test/files/integrations/vehicle.rb +0 -7
  49. data/test/files/models/auto_shop.rb +0 -31
  50. data/test/files/models/car.rb +0 -21
  51. data/test/files/models/driver.rb +0 -13
  52. data/test/files/models/model_base.rb +0 -6
  53. data/test/files/models/motorcycle.rb +0 -16
  54. data/test/files/models/traffic_light.rb +0 -47
  55. data/test/files/models/vehicle.rb +0 -127
  56. data/test/files/node.rb +0 -5
  57. data/test/files/switch.rb +0 -15
  58. data/test/functional/auto_shop_available_test.rb +0 -20
  59. data/test/functional/auto_shop_busy_test.rb +0 -25
  60. data/test/functional/car_backing_up_test.rb +0 -45
  61. data/test/functional/car_test.rb +0 -49
  62. data/test/functional/driver_default_nonstandard_test.rb +0 -13
  63. data/test/functional/motorcycle_test.rb +0 -52
  64. data/test/functional/traffic_light_caution_test.rb +0 -17
  65. data/test/functional/traffic_light_proceed_test.rb +0 -17
  66. data/test/functional/traffic_light_stop_test.rb +0 -26
  67. data/test/functional/vehicle_first_gear_test.rb +0 -42
  68. data/test/functional/vehicle_idling_test.rb +0 -59
  69. data/test/functional/vehicle_locked_test.rb +0 -29
  70. data/test/functional/vehicle_parked_test.rb +0 -53
  71. data/test/functional/vehicle_repaired_test.rb +0 -20
  72. data/test/functional/vehicle_second_gear_test.rb +0 -42
  73. data/test/functional/vehicle_stalled_test.rb +0 -65
  74. data/test/functional/vehicle_test.rb +0 -20
  75. data/test/functional/vehicle_third_gear_test.rb +0 -42
  76. data/test/functional/vehicle_unsaved_test.rb +0 -181
  77. data/test/functional/vehicle_with_event_attributes_test.rb +0 -30
  78. data/test/functional/vehicle_with_parallel_events_test.rb +0 -36
  79. data/test/test_helper.rb +0 -15
  80. data/test/unit/assertions/assert_exclusive_keys_test.rb +0 -22
  81. data/test/unit/assertions/assert_valid_key_test.rb +0 -12
  82. data/test/unit/branch/branch_test.rb +0 -28
  83. data/test/unit/branch/branch_with_conflicting_conditionals_test.rb +0 -27
  84. data/test/unit/branch/branch_with_conflicting_from_requirements_test.rb +0 -8
  85. data/test/unit/branch/branch_with_conflicting_on_requirements_test.rb +0 -8
  86. data/test/unit/branch/branch_with_conflicting_to_requirements_test.rb +0 -8
  87. data/test/unit/branch/branch_with_different_requirements_test.rb +0 -41
  88. data/test/unit/branch/branch_with_except_from_matcher_requirement_test.rb +0 -8
  89. data/test/unit/branch/branch_with_except_from_requirement_test.rb +0 -36
  90. data/test/unit/branch/branch_with_except_on_matcher_requirement_test.rb +0 -8
  91. data/test/unit/branch/branch_with_except_on_requirement_test.rb +0 -36
  92. data/test/unit/branch/branch_with_except_to_matcher_requirement_test.rb +0 -8
  93. data/test/unit/branch/branch_with_except_to_requirement_test.rb +0 -36
  94. data/test/unit/branch/branch_with_from_matcher_requirement_test.rb +0 -20
  95. data/test/unit/branch/branch_with_from_requirement_test.rb +0 -45
  96. data/test/unit/branch/branch_with_if_conditional_test.rb +0 -27
  97. data/test/unit/branch/branch_with_implicit_and_explicit_requirements_test.rb +0 -23
  98. data/test/unit/branch/branch_with_implicit_from_requirement_matcher_test.rb +0 -20
  99. data/test/unit/branch/branch_with_implicit_requirement_test.rb +0 -20
  100. data/test/unit/branch/branch_with_implicit_to_requirement_matcher_test.rb +0 -16
  101. data/test/unit/branch/branch_with_multiple_except_from_requirements_test.rb +0 -20
  102. data/test/unit/branch/branch_with_multiple_except_on_requirements_test.rb +0 -16
  103. data/test/unit/branch/branch_with_multiple_except_to_requirements_test.rb +0 -20
  104. data/test/unit/branch/branch_with_multiple_from_requirements_test.rb +0 -16
  105. data/test/unit/branch/branch_with_multiple_if_conditionals_test.rb +0 -20
  106. data/test/unit/branch/branch_with_multiple_implicit_requirements_test.rb +0 -53
  107. data/test/unit/branch/branch_with_multiple_to_requirements_test.rb +0 -20
  108. data/test/unit/branch/branch_with_multiple_unless_conditionals_test.rb +0 -20
  109. data/test/unit/branch/branch_with_nil_requirements_test.rb +0 -28
  110. data/test/unit/branch/branch_with_no_requirements_test.rb +0 -36
  111. data/test/unit/branch/branch_with_on_matcher_requirement_test.rb +0 -16
  112. data/test/unit/branch/branch_with_on_requirement_test.rb +0 -45
  113. data/test/unit/branch/branch_with_to_matcher_requirement_test.rb +0 -20
  114. data/test/unit/branch/branch_with_to_requirement_test.rb +0 -45
  115. data/test/unit/branch/branch_with_unless_conditional_test.rb +0 -27
  116. data/test/unit/branch/branch_without_guards_test.rb +0 -27
  117. data/test/unit/callback/callback_by_default_test.rb +0 -25
  118. data/test/unit/callback/callback_test.rb +0 -53
  119. data/test/unit/callback/callback_with_application_bound_object_test.rb +0 -23
  120. data/test/unit/callback/callback_with_application_terminator_test.rb +0 -24
  121. data/test/unit/callback/callback_with_arguments_test.rb +0 -14
  122. data/test/unit/callback/callback_with_around_type_and_arguments_test.rb +0 -25
  123. data/test/unit/callback/callback_with_around_type_and_block_test.rb +0 -44
  124. data/test/unit/callback/callback_with_around_type_and_bound_method_test.rb +0 -23
  125. data/test/unit/callback/callback_with_around_type_and_multiple_methods_test.rb +0 -93
  126. data/test/unit/callback/callback_with_around_type_and_terminator_test.rb +0 -17
  127. data/test/unit/callback/callback_with_block_test.rb +0 -20
  128. data/test/unit/callback/callback_with_bound_method_and_arguments_test.rb +0 -28
  129. data/test/unit/callback/callback_with_bound_method_test.rb +0 -35
  130. data/test/unit/callback/callback_with_do_method_test.rb +0 -18
  131. data/test/unit/callback/callback_with_explicit_requirements_test.rb +0 -32
  132. data/test/unit/callback/callback_with_if_condition_test.rb +0 -17
  133. data/test/unit/callback/callback_with_implicit_requirements_test.rb +0 -32
  134. data/test/unit/callback/callback_with_method_argument_test.rb +0 -18
  135. data/test/unit/callback/callback_with_mixed_methods_test.rb +0 -31
  136. data/test/unit/callback/callback_with_multiple_bound_methods_test.rb +0 -21
  137. data/test/unit/callback/callback_with_multiple_do_methods_test.rb +0 -29
  138. data/test/unit/callback/callback_with_multiple_method_arguments_test.rb +0 -29
  139. data/test/unit/callback/callback_with_terminator_test.rb +0 -22
  140. data/test/unit/callback/callback_with_unbound_method_test.rb +0 -14
  141. data/test/unit/callback/callback_with_unless_condition_test.rb +0 -17
  142. data/test/unit/callback/callback_without_arguments_test.rb +0 -14
  143. data/test/unit/callback/callback_without_terminator_test.rb +0 -12
  144. data/test/unit/error/error_by_default_test.rb +0 -21
  145. data/test/unit/error/error_with_message_test.rb +0 -23
  146. data/test/unit/eval_helper/eval_helpers_base_test.rb +0 -8
  147. data/test/unit/eval_helper/eval_helpers_proc_block_and_explicit_arguments_test.rb +0 -14
  148. data/test/unit/eval_helper/eval_helpers_proc_block_and_implicit_arguments_test.rb +0 -14
  149. data/test/unit/eval_helper/eval_helpers_proc_test.rb +0 -13
  150. data/test/unit/eval_helper/eval_helpers_proc_with_arguments_test.rb +0 -13
  151. data/test/unit/eval_helper/eval_helpers_proc_with_block_test.rb +0 -13
  152. data/test/unit/eval_helper/eval_helpers_proc_with_block_without_arguments_test.rb +0 -18
  153. data/test/unit/eval_helper/eval_helpers_proc_with_block_without_object_test.rb +0 -14
  154. data/test/unit/eval_helper/eval_helpers_proc_without_arguments_test.rb +0 -19
  155. data/test/unit/eval_helper/eval_helpers_string_test.rb +0 -25
  156. data/test/unit/eval_helper/eval_helpers_string_with_block_test.rb +0 -12
  157. data/test/unit/eval_helper/eval_helpers_symbol_method_missing_test.rb +0 -20
  158. data/test/unit/eval_helper/eval_helpers_symbol_private_test.rb +0 -17
  159. data/test/unit/eval_helper/eval_helpers_symbol_protected_test.rb +0 -17
  160. data/test/unit/eval_helper/eval_helpers_symbol_tainted_method_test.rb +0 -18
  161. data/test/unit/eval_helper/eval_helpers_symbol_test.rb +0 -16
  162. data/test/unit/eval_helper/eval_helpers_symbol_with_arguments_and_block_test.rb +0 -16
  163. data/test/unit/eval_helper/eval_helpers_symbol_with_arguments_test.rb +0 -16
  164. data/test/unit/eval_helper/eval_helpers_symbol_with_block_test.rb +0 -16
  165. data/test/unit/eval_helper/eval_helpers_test.rb +0 -13
  166. data/test/unit/event/event_after_being_copied_test.rb +0 -17
  167. data/test/unit/event/event_by_default_test.rb +0 -60
  168. data/test/unit/event/event_context_test.rb +0 -16
  169. data/test/unit/event/event_on_failure_test.rb +0 -44
  170. data/test/unit/event/event_test.rb +0 -34
  171. data/test/unit/event/event_transitions_test.rb +0 -62
  172. data/test/unit/event/event_with_conflicting_helpers_after_definition_test.rb +0 -79
  173. data/test/unit/event/event_with_conflicting_helpers_before_definition_test.rb +0 -58
  174. data/test/unit/event/event_with_conflicting_machine_test.rb +0 -48
  175. data/test/unit/event/event_with_dynamic_human_name_test.rb +0 -26
  176. data/test/unit/event/event_with_human_name_test.rb +0 -13
  177. data/test/unit/event/event_with_invalid_current_state_test.rb +0 -30
  178. data/test/unit/event/event_with_machine_action_test.rb +0 -33
  179. data/test/unit/event/event_with_marshalling_test.rb +0 -47
  180. data/test/unit/event/event_with_matching_disabled_transitions_test.rb +0 -115
  181. data/test/unit/event/event_with_matching_enabled_transitions_test.rb +0 -75
  182. data/test/unit/event/event_with_multiple_transitions_test.rb +0 -61
  183. data/test/unit/event/event_with_namespace_test.rb +0 -34
  184. data/test/unit/event/event_with_transition_with_blacklisted_to_state_test.rb +0 -60
  185. data/test/unit/event/event_with_transition_with_loopback_state_test.rb +0 -36
  186. data/test/unit/event/event_with_transition_with_nil_to_state_test.rb +0 -36
  187. data/test/unit/event/event_with_transition_with_whitelisted_to_state_test.rb +0 -51
  188. data/test/unit/event/event_with_transition_without_to_state_test.rb +0 -36
  189. data/test/unit/event/event_with_transitions_test.rb +0 -32
  190. data/test/unit/event/event_without_matching_transitions_test.rb +0 -41
  191. data/test/unit/event/event_without_transitions_test.rb +0 -28
  192. data/test/unit/event/invalid_event_test.rb +0 -20
  193. data/test/unit/event_collection/event_collection_attribute_with_machine_action_test.rb +0 -62
  194. data/test/unit/event_collection/event_collection_attribute_with_namespaced_machine_test.rb +0 -36
  195. data/test/unit/event_collection/event_collection_by_default_test.rb +0 -26
  196. data/test/unit/event_collection/event_collection_test.rb +0 -39
  197. data/test/unit/event_collection/event_collection_with_custom_machine_attribute_test.rb +0 -31
  198. data/test/unit/event_collection/event_collection_with_events_with_transitions_test.rb +0 -76
  199. data/test/unit/event_collection/event_collection_with_multiple_events_test.rb +0 -27
  200. data/test/unit/event_collection/event_collection_with_validations_test.rb +0 -74
  201. data/test/unit/event_collection/event_collection_without_machine_action_test.rb +0 -18
  202. data/test/unit/event_collection/event_string_collection_test.rb +0 -31
  203. data/test/unit/helper_module_test.rb +0 -17
  204. data/test/unit/integrations/integration_finder_test.rb +0 -16
  205. data/test/unit/integrations/integration_matcher_test.rb +0 -29
  206. data/test/unit/invalid_transition/invalid_parallel_transition_test.rb +0 -18
  207. data/test/unit/invalid_transition/invalid_transition_test.rb +0 -47
  208. data/test/unit/invalid_transition/invalid_transition_with_integration_test.rb +0 -45
  209. data/test/unit/invalid_transition/invalid_transition_with_namespace_test.rb +0 -32
  210. data/test/unit/machine/machine_after_being_copied_test.rb +0 -62
  211. data/test/unit/machine/machine_after_changing_initial_state.rb +0 -28
  212. data/test/unit/machine/machine_after_changing_owner_class_test.rb +0 -31
  213. data/test/unit/machine/machine_by_default_test.rb +0 -160
  214. data/test/unit/machine/machine_finder_custom_options_test.rb +0 -17
  215. data/test/unit/machine/machine_finder_with_existing_machine_on_superclass_test.rb +0 -85
  216. data/test/unit/machine/machine_finder_with_existing_on_same_class_test.rb +0 -23
  217. data/test/unit/machine/machine_finder_without_existing_machine_test.rb +0 -25
  218. data/test/unit/machine/machine_persistence_test.rb +0 -52
  219. data/test/unit/machine/machine_state_initialization_test.rb +0 -56
  220. data/test/unit/machine/machine_test.rb +0 -30
  221. data/test/unit/machine/machine_with_action_already_overridden_test.rb +0 -23
  222. data/test/unit/machine/machine_with_action_defined_in_class_test.rb +0 -37
  223. data/test/unit/machine/machine_with_action_defined_in_included_module_test.rb +0 -46
  224. data/test/unit/machine/machine_with_action_defined_in_superclass_test.rb +0 -43
  225. data/test/unit/machine/machine_with_action_undefined_test.rb +0 -33
  226. data/test/unit/machine/machine_with_cached_state_test.rb +0 -20
  227. data/test/unit/machine/machine_with_class_helpers_test.rb +0 -179
  228. data/test/unit/machine/machine_with_conflicting_helpers_after_definition_test.rb +0 -244
  229. data/test/unit/machine/machine_with_conflicting_helpers_before_definition_test.rb +0 -175
  230. data/test/unit/machine/machine_with_custom_action_test.rb +0 -11
  231. data/test/unit/machine/machine_with_custom_attribute_test.rb +0 -103
  232. data/test/unit/machine/machine_with_custom_initialize_test.rb +0 -24
  233. data/test/unit/machine/machine_with_custom_integration_test.rb +0 -72
  234. data/test/unit/machine/machine_with_custom_invalidation_test.rb +0 -39
  235. data/test/unit/machine/machine_with_custom_name_test.rb +0 -57
  236. data/test/unit/machine/machine_with_custom_plural_test.rb +0 -52
  237. data/test/unit/machine/machine_with_dynamic_initial_state_test.rb +0 -65
  238. data/test/unit/machine/machine_with_event_matchers_test.rb +0 -41
  239. data/test/unit/machine/machine_with_events_test.rb +0 -52
  240. data/test/unit/machine/machine_with_events_with_custom_human_names_test.rb +0 -18
  241. data/test/unit/machine/machine_with_events_with_transitions_test.rb +0 -37
  242. data/test/unit/machine/machine_with_existing_event_test.rb +0 -17
  243. data/test/unit/machine/machine_with_existing_machines_on_owner_class_test.rb +0 -20
  244. data/test/unit/machine/machine_with_existing_machines_with_same_attributes_on_owner_class_test.rb +0 -71
  245. data/test/unit/machine/machine_with_existing_machines_with_same_attributes_on_owner_subclass_test.rb +0 -31
  246. data/test/unit/machine/machine_with_existing_state_test.rb +0 -27
  247. data/test/unit/machine/machine_with_failure_callbacks_test.rb +0 -48
  248. data/test/unit/machine/machine_with_helpers_test.rb +0 -14
  249. data/test/unit/machine/machine_with_initial_state_with_value_and_owner_default.rb +0 -25
  250. data/test/unit/machine/machine_with_initialize_and_super_test.rb +0 -17
  251. data/test/unit/machine/machine_with_initialize_arguments_and_block_test.rb +0 -31
  252. data/test/unit/machine/machine_with_initialize_without_super_test.rb +0 -17
  253. data/test/unit/machine/machine_with_instance_helpers_test.rb +0 -179
  254. data/test/unit/machine/machine_with_integration_test.rb +0 -72
  255. data/test/unit/machine/machine_with_multiple_events_test.rb +0 -32
  256. data/test/unit/machine/machine_with_namespace_test.rb +0 -48
  257. data/test/unit/machine/machine_with_nil_action_test.rb +0 -27
  258. data/test/unit/machine/machine_with_other_states.rb +0 -22
  259. data/test/unit/machine/machine_with_owner_subclass_test.rb +0 -18
  260. data/test/unit/machine/machine_with_paths_test.rb +0 -25
  261. data/test/unit/machine/machine_with_private_action_test.rb +0 -43
  262. data/test/unit/machine/machine_with_state_matchers_test.rb +0 -41
  263. data/test/unit/machine/machine_with_state_with_matchers_test.rb +0 -19
  264. data/test/unit/machine/machine_with_states_test.rb +0 -55
  265. data/test/unit/machine/machine_with_states_with_behaviors_test.rb +0 -23
  266. data/test/unit/machine/machine_with_states_with_custom_human_names_test.rb +0 -18
  267. data/test/unit/machine/machine_with_states_with_custom_values_test.rb +0 -21
  268. data/test/unit/machine/machine_with_states_with_runtime_dependencies_test.rb +0 -19
  269. data/test/unit/machine/machine_with_static_initial_state_test.rb +0 -49
  270. data/test/unit/machine/machine_with_superclass_conflicting_helpers_after_definition_test.rb +0 -36
  271. data/test/unit/machine/machine_with_transition_callbacks_test.rb +0 -144
  272. data/test/unit/machine/machine_with_transitions_test.rb +0 -87
  273. data/test/unit/machine/machine_without_initialization_test.rb +0 -31
  274. data/test/unit/machine/machine_without_initialize_test.rb +0 -14
  275. data/test/unit/machine/machine_without_integration_test.rb +0 -31
  276. data/test/unit/machine_collection/machine_collection_by_default_test.rb +0 -11
  277. data/test/unit/machine_collection/machine_collection_fire_test.rb +0 -80
  278. data/test/unit/machine_collection/machine_collection_fire_with_transactions_test.rb +0 -54
  279. data/test/unit/machine_collection/machine_collection_fire_with_validations_test.rb +0 -76
  280. data/test/unit/machine_collection/machine_collection_state_initialization_test.rb +0 -111
  281. data/test/unit/machine_collection/machine_collection_transitions_with_blank_events_test.rb +0 -25
  282. data/test/unit/machine_collection/machine_collection_transitions_with_custom_options_test.rb +0 -20
  283. data/test/unit/machine_collection/machine_collection_transitions_with_different_actions_test.rb +0 -26
  284. data/test/unit/machine_collection/machine_collection_transitions_with_exisiting_transitions_test.rb +0 -25
  285. data/test/unit/machine_collection/machine_collection_transitions_with_invalid_events_test.rb +0 -25
  286. data/test/unit/machine_collection/machine_collection_transitions_with_same_actions_test.rb +0 -31
  287. data/test/unit/machine_collection/machine_collection_transitions_with_transition_test.rb +0 -26
  288. data/test/unit/machine_collection/machine_collection_transitions_without_events_test.rb +0 -25
  289. data/test/unit/machine_collection/machine_collection_transitions_without_transition_test.rb +0 -27
  290. data/test/unit/matcher/all_matcher_test.rb +0 -29
  291. data/test/unit/matcher/blacklist_matcher_test.rb +0 -30
  292. data/test/unit/matcher/loopback_matcher_test.rb +0 -27
  293. data/test/unit/matcher/matcher_by_default_test.rb +0 -15
  294. data/test/unit/matcher/matcher_with_multiple_values_test.rb +0 -15
  295. data/test/unit/matcher/matcher_with_value_test.rb +0 -15
  296. data/test/unit/matcher/whitelist_matcher_test.rb +0 -30
  297. data/test/unit/matcher_helpers/matcher_helpers_all_test.rb +0 -14
  298. data/test/unit/matcher_helpers/matcher_helpers_any_test.rb +0 -14
  299. data/test/unit/matcher_helpers/matcher_helpers_same_test.rb +0 -13
  300. data/test/unit/node_collection/node_collection_after_being_copied_test.rb +0 -46
  301. data/test/unit/node_collection/node_collection_after_update_test.rb +0 -36
  302. data/test/unit/node_collection/node_collection_by_default_test.rb +0 -22
  303. data/test/unit/node_collection/node_collection_test.rb +0 -23
  304. data/test/unit/node_collection/node_collection_with_indices_test.rb +0 -42
  305. data/test/unit/node_collection/node_collection_with_matcher_contexts_test.rb +0 -25
  306. data/test/unit/node_collection/node_collection_with_nodes_test.rb +0 -46
  307. data/test/unit/node_collection/node_collection_with_numeric_index_test.rb +0 -24
  308. data/test/unit/node_collection/node_collection_with_postdefined_contexts_test.rb +0 -22
  309. data/test/unit/node_collection/node_collection_with_predefined_contexts_test.rb +0 -23
  310. data/test/unit/node_collection/node_collection_with_string_index_test.rb +0 -20
  311. data/test/unit/node_collection/node_collection_with_symbol_index_test.rb +0 -20
  312. data/test/unit/node_collection/node_collection_without_indices_test.rb +0 -30
  313. data/test/unit/path/path_by_default_test.rb +0 -54
  314. data/test/unit/path/path_test.rb +0 -14
  315. data/test/unit/path/path_with_available_transitions_after_reaching_target_test.rb +0 -40
  316. data/test/unit/path/path_with_available_transitions_test.rb +0 -54
  317. data/test/unit/path/path_with_deep_target_reached_test.rb +0 -50
  318. data/test/unit/path/path_with_deep_target_test.rb +0 -40
  319. data/test/unit/path/path_with_duplicates_test.rb +0 -32
  320. data/test/unit/path/path_with_encountered_transitions_test.rb +0 -34
  321. data/test/unit/path/path_with_guarded_transitions_test.rb +0 -42
  322. data/test/unit/path/path_with_reached_target_test.rb +0 -35
  323. data/test/unit/path/path_with_transitions_test.rb +0 -54
  324. data/test/unit/path/path_with_unreached_target_test.rb +0 -31
  325. data/test/unit/path/path_without_transitions_test.rb +0 -24
  326. data/test/unit/path_collection/path_collection_by_default_test.rb +0 -46
  327. data/test/unit/path_collection/path_collection_test.rb +0 -24
  328. data/test/unit/path_collection/path_collection_with_deep_paths_test.rb +0 -43
  329. data/test/unit/path_collection/path_collection_with_duplicate_nodes_test.rb +0 -31
  330. data/test/unit/path_collection/path_collection_with_from_state_test.rb +0 -27
  331. data/test/unit/path_collection/path_collection_with_paths_test.rb +0 -47
  332. data/test/unit/path_collection/path_collection_with_to_state_test.rb +0 -29
  333. data/test/unit/path_collection/path_with_guarded_paths_test.rb +0 -25
  334. data/test/unit/state/state_after_being_copied_test.rb +0 -19
  335. data/test/unit/state/state_by_default_test.rb +0 -41
  336. data/test/unit/state/state_final_test.rb +0 -28
  337. data/test/unit/state/state_initial_test.rb +0 -13
  338. data/test/unit/state/state_not_final_test.rb +0 -32
  339. data/test/unit/state/state_not_initial_test.rb +0 -13
  340. data/test/unit/state/state_test.rb +0 -44
  341. data/test/unit/state/state_with_cached_lambda_value_test.rb +0 -29
  342. data/test/unit/state/state_with_conflicting_helpers_after_definition_test.rb +0 -38
  343. data/test/unit/state/state_with_conflicting_helpers_before_definition_test.rb +0 -29
  344. data/test/unit/state/state_with_conflicting_machine_name_test.rb +0 -20
  345. data/test/unit/state/state_with_conflicting_machine_test.rb +0 -37
  346. data/test/unit/state/state_with_context_test.rb +0 -60
  347. data/test/unit/state/state_with_dynamic_human_name_test.rb +0 -25
  348. data/test/unit/state/state_with_existing_context_method_test.rb +0 -24
  349. data/test/unit/state/state_with_human_name_test.rb +0 -13
  350. data/test/unit/state/state_with_integer_value_test.rb +0 -32
  351. data/test/unit/state/state_with_invalid_method_call_test.rb +0 -21
  352. data/test/unit/state/state_with_lambda_value_test.rb +0 -37
  353. data/test/unit/state/state_with_matcher_test.rb +0 -18
  354. data/test/unit/state/state_with_multiple_contexts_test.rb +0 -57
  355. data/test/unit/state/state_with_name_test.rb +0 -43
  356. data/test/unit/state/state_with_namespace_test.rb +0 -22
  357. data/test/unit/state/state_with_nil_value_test.rb +0 -35
  358. data/test/unit/state/state_with_redefined_context_method_test.rb +0 -45
  359. data/test/unit/state/state_with_symbolic_value_test.rb +0 -32
  360. data/test/unit/state/state_with_valid_inherited_method_call_for_current_state_test.rb +0 -40
  361. data/test/unit/state/state_with_valid_method_call_for_current_state_test.rb +0 -33
  362. data/test/unit/state/state_with_valid_method_call_for_different_state_test.rb +0 -41
  363. data/test/unit/state/state_without_cached_lambda_value_test.rb +0 -25
  364. data/test/unit/state/state_without_name_test.rb +0 -39
  365. data/test/unit/state_collection/state_collection_by_default_test.rb +0 -21
  366. data/test/unit/state_collection/state_collection_string_test.rb +0 -35
  367. data/test/unit/state_collection/state_collection_test.rb +0 -74
  368. data/test/unit/state_collection/state_collection_with_custom_state_values_test.rb +0 -29
  369. data/test/unit/state_collection/state_collection_with_event_transitions_test.rb +0 -39
  370. data/test/unit/state_collection/state_collection_with_initial_state_test.rb +0 -40
  371. data/test/unit/state_collection/state_collection_with_namespace_test.rb +0 -21
  372. data/test/unit/state_collection/state_collection_with_state_behaviors_test.rb +0 -40
  373. data/test/unit/state_collection/state_collection_with_state_matchers_test.rb +0 -29
  374. data/test/unit/state_collection/state_collection_with_transition_callbacks_test.rb +0 -40
  375. data/test/unit/state_context/state_context_proxy_test.rb +0 -26
  376. data/test/unit/state_context/state_context_proxy_with_if_and_unless_conditions_test.rb +0 -42
  377. data/test/unit/state_context/state_context_proxy_with_if_condition_test.rb +0 -64
  378. data/test/unit/state_context/state_context_proxy_with_multiple_if_conditions_test.rb +0 -32
  379. data/test/unit/state_context/state_context_proxy_with_multiple_unless_conditions_test.rb +0 -32
  380. data/test/unit/state_context/state_context_proxy_with_unless_condition_test.rb +0 -64
  381. data/test/unit/state_context/state_context_proxy_without_conditions_test.rb +0 -31
  382. data/test/unit/state_context/state_context_test.rb +0 -28
  383. data/test/unit/state_context/state_context_transition_test.rb +0 -104
  384. data/test/unit/state_context/state_context_with_matching_transition_test.rb +0 -27
  385. data/test/unit/state_machine/state_machine_by_default_test.rb +0 -12
  386. data/test/unit/state_machine/state_machine_test.rb +0 -20
  387. data/test/unit/transition/transition_after_being_performed_test.rb +0 -48
  388. data/test/unit/transition/transition_after_being_persisted_test.rb +0 -46
  389. data/test/unit/transition/transition_after_being_rolled_back_test.rb +0 -35
  390. data/test/unit/transition/transition_equality_test.rb +0 -52
  391. data/test/unit/transition/transition_loopback_test.rb +0 -18
  392. data/test/unit/transition/transition_test.rb +0 -96
  393. data/test/unit/transition/transition_transient_test.rb +0 -20
  394. data/test/unit/transition/transition_with_action_test.rb +0 -27
  395. data/test/unit/transition/transition_with_after_callbacks_skipped_test.rb +0 -127
  396. data/test/unit/transition/transition_with_after_callbacks_test.rb +0 -93
  397. data/test/unit/transition/transition_with_around_callbacks_test.rb +0 -141
  398. data/test/unit/transition/transition_with_before_callbacks_skipped_test.rb +0 -30
  399. data/test/unit/transition/transition_with_before_callbacks_test.rb +0 -104
  400. data/test/unit/transition/transition_with_custom_machine_attribute_test.rb +0 -28
  401. data/test/unit/transition/transition_with_different_states_test.rb +0 -18
  402. data/test/unit/transition/transition_with_dynamic_to_value_test.rb +0 -19
  403. data/test/unit/transition/transition_with_failure_callbacks_test.rb +0 -84
  404. data/test/unit/transition/transition_with_invalid_nodes_test.rb +0 -29
  405. data/test/unit/transition/transition_with_mixed_callbacks_test.rb +0 -105
  406. data/test/unit/transition/transition_with_multiple_after_callbacks_test.rb +0 -40
  407. data/test/unit/transition/transition_with_multiple_around_callbacks_test.rb +0 -114
  408. data/test/unit/transition/transition_with_multiple_before_callbacks_test.rb +0 -40
  409. data/test/unit/transition/transition_with_multiple_failure_callbacks_test.rb +0 -40
  410. data/test/unit/transition/transition_with_namespace_test.rb +0 -47
  411. data/test/unit/transition/transition_with_perform_arguments_test.rb +0 -35
  412. data/test/unit/transition/transition_with_transactions_test.rb +0 -42
  413. data/test/unit/transition/transition_without_callbacks_test.rb +0 -33
  414. data/test/unit/transition/transition_without_reading_state_test.rb +0 -22
  415. data/test/unit/transition/transition_without_running_action_test.rb +0 -47
  416. data/test/unit/transition_collection/attribute_transition_collection_by_default_test.rb +0 -23
  417. data/test/unit/transition_collection/attribute_transition_collection_marshalling_test.rb +0 -64
  418. data/test/unit/transition_collection/attribute_transition_collection_with_action_error_test.rb +0 -44
  419. data/test/unit/transition_collection/attribute_transition_collection_with_action_failed_test.rb +0 -44
  420. data/test/unit/transition_collection/attribute_transition_collection_with_after_callback_error_test.rb +0 -32
  421. data/test/unit/transition_collection/attribute_transition_collection_with_after_callback_halt_test.rb +0 -33
  422. data/test/unit/transition_collection/attribute_transition_collection_with_around_after_yield_callback_error_test.rb +0 -32
  423. data/test/unit/transition_collection/attribute_transition_collection_with_around_callback_after_yield_error_test.rb +0 -32
  424. data/test/unit/transition_collection/attribute_transition_collection_with_around_callback_after_yield_halt_test.rb +0 -33
  425. data/test/unit/transition_collection/attribute_transition_collection_with_around_callback_before_yield_halt_test.rb +0 -33
  426. data/test/unit/transition_collection/attribute_transition_collection_with_before_callback_error_test.rb +0 -32
  427. data/test/unit/transition_collection/attribute_transition_collection_with_before_callback_halt_test.rb +0 -33
  428. data/test/unit/transition_collection/attribute_transition_collection_with_callbacks_test.rb +0 -68
  429. data/test/unit/transition_collection/attribute_transition_collection_with_event_transitions_test.rb +0 -41
  430. data/test/unit/transition_collection/attribute_transition_collection_with_events_test.rb +0 -44
  431. data/test/unit/transition_collection/attribute_transition_collection_with_skipped_after_callbacks_test.rb +0 -42
  432. data/test/unit/transition_collection/transition_collection_by_default_test.rb +0 -23
  433. data/test/unit/transition_collection/transition_collection_empty_with_block_test.rb +0 -23
  434. data/test/unit/transition_collection/transition_collection_empty_without_block_test.rb +0 -12
  435. data/test/unit/transition_collection/transition_collection_invalid_test.rb +0 -21
  436. data/test/unit/transition_collection/transition_collection_partial_invalid_test.rb +0 -69
  437. data/test/unit/transition_collection/transition_collection_test.rb +0 -26
  438. data/test/unit/transition_collection/transition_collection_valid_test.rb +0 -57
  439. data/test/unit/transition_collection/transition_collection_with_action_error_test.rb +0 -66
  440. data/test/unit/transition_collection/transition_collection_with_action_failed_test.rb +0 -60
  441. data/test/unit/transition_collection/transition_collection_with_action_hook_and_block_test.rb +0 -17
  442. data/test/unit/transition_collection/transition_collection_with_action_hook_and_skipped_action_test.rb +0 -17
  443. data/test/unit/transition_collection/transition_collection_with_action_hook_and_skipped_after_callbacks_test.rb +0 -37
  444. data/test/unit/transition_collection/transition_collection_with_action_hook_base_test.rb +0 -34
  445. data/test/unit/transition_collection/transition_collection_with_action_hook_error_test.rb +0 -29
  446. data/test/unit/transition_collection/transition_collection_with_action_hook_invalid_test.rb +0 -17
  447. data/test/unit/transition_collection/transition_collection_with_action_hook_multiple_test.rb +0 -79
  448. data/test/unit/transition_collection/transition_collection_with_action_hook_test.rb +0 -45
  449. data/test/unit/transition_collection/transition_collection_with_action_hook_with_different_actions_test.rb +0 -48
  450. data/test/unit/transition_collection/transition_collection_with_action_hook_with_nil_action_test.rb +0 -42
  451. data/test/unit/transition_collection/transition_collection_with_after_callback_halt_test.rb +0 -47
  452. data/test/unit/transition_collection/transition_collection_with_before_callback_halt_test.rb +0 -51
  453. data/test/unit/transition_collection/transition_collection_with_block_test.rb +0 -46
  454. data/test/unit/transition_collection/transition_collection_with_callbacks_test.rb +0 -135
  455. data/test/unit/transition_collection/transition_collection_with_different_actions_test.rb +0 -189
  456. data/test/unit/transition_collection/transition_collection_with_duplicate_actions_test.rb +0 -48
  457. data/test/unit/transition_collection/transition_collection_with_empty_actions_test.rb +0 -41
  458. data/test/unit/transition_collection/transition_collection_with_mixed_actions_test.rb +0 -41
  459. data/test/unit/transition_collection/transition_collection_with_skipped_actions_and_block_test.rb +0 -34
  460. data/test/unit/transition_collection/transition_collection_with_skipped_actions_test.rb +0 -69
  461. data/test/unit/transition_collection/transition_collection_with_skipped_after_callbacks_and_around_callbacks_test.rb +0 -53
  462. data/test/unit/transition_collection/transition_collection_with_skipped_after_callbacks_test.rb +0 -34
  463. data/test/unit/transition_collection/transition_collection_with_transactions_test.rb +0 -65
  464. data/test/unit/transition_collection/transition_collection_without_transactions_test.rb +0 -29
@@ -1,32 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class CallbackWithImplicitRequirementsTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- @callback = StateMachines::Callback.new(:before, parked: :idling, on: :ignite, do: lambda {})
7
- end
8
-
9
- def test_should_call_with_empty_context
10
- assert @callback.call(@object, {})
11
- end
12
-
13
- def test_should_not_call_if_from_not_included
14
- refute @callback.call(@object, from: :idling)
15
- end
16
-
17
- def test_should_not_call_if_to_not_included
18
- refute @callback.call(@object, to: :parked)
19
- end
20
-
21
- def test_should_not_call_if_on_not_included
22
- refute @callback.call(@object, on: :park)
23
- end
24
-
25
- def test_should_call_if_all_requirements_met
26
- assert @callback.call(@object, from: :parked, to: :idling, on: :ignite)
27
- end
28
-
29
- def test_should_include_in_known_states
30
- assert_equal [:parked, :idling], @callback.known_states
31
- end
32
- end
@@ -1,18 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class CallbackWithMethodArgumentTest < StateMachinesTest
4
- def setup
5
- @callback = StateMachines::Callback.new(:before, lambda { |*args| @args = args })
6
-
7
- @object = Object.new
8
- @result = @callback.call(@object)
9
- end
10
-
11
- def test_should_be_successful
12
- assert @result
13
- end
14
-
15
- def test_should_call_with_empty_context
16
- assert_equal [@object], @args
17
- end
18
- end
@@ -1,31 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class CallbackWithMixedMethodsTest < StateMachinesTest
4
- def setup
5
- @callback = StateMachines::Callback.new(:before, :run_argument, do: :run_do) do |object|
6
- object.callbacks << :block
7
- end
8
-
9
- class << @object = Object.new
10
- attr_accessor :callbacks
11
-
12
- def run_argument
13
- (@callbacks ||= []) << :argument
14
- end
15
-
16
- def run_do
17
- (@callbacks ||= []) << :do
18
- end
19
- end
20
-
21
- @result = @callback.call(@object)
22
- end
23
-
24
- def test_should_be_successful
25
- assert @result
26
- end
27
-
28
- def test_should_call_each_callback_in_order
29
- assert_equal [:argument, :do, :block], @object.callbacks
30
- end
31
- end
@@ -1,21 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class CallbackWithMultipleBoundMethodsTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
-
7
- first_context = nil
8
- second_context = nil
9
-
10
- @callback = StateMachines::Callback.new(:before, do: [lambda { first_context = self }, lambda { second_context = self }], bind_to_object: true)
11
- @callback.call(@object)
12
-
13
- @first_context = first_context
14
- @second_context = second_context
15
- end
16
-
17
- def test_should_call_each_method_within_the_context_of_the_object
18
- assert_equal @object, @first_context
19
- assert_equal @object, @second_context
20
- end
21
- end
@@ -1,29 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class CallbackWithMultipleDoMethodsTest < StateMachinesTest
4
- def setup
5
- @callback = StateMachines::Callback.new(:before, do: [:run_1, :run_2])
6
-
7
- class << @object = Object.new
8
- attr_accessor :callbacks
9
-
10
- def run_1
11
- (@callbacks ||= []) << :run_1
12
- end
13
-
14
- def run_2
15
- (@callbacks ||= []) << :run_2
16
- end
17
- end
18
-
19
- @result = @callback.call(@object)
20
- end
21
-
22
- def test_should_be_successful
23
- assert @result
24
- end
25
-
26
- def test_should_call_each_callback_in_order
27
- assert_equal [:run_1, :run_2], @object.callbacks
28
- end
29
- end
@@ -1,29 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class CallbackWithMultipleMethodArgumentsTest < StateMachinesTest
4
- def setup
5
- @callback = StateMachines::Callback.new(:before, :run_1, :run_2)
6
-
7
- class << @object = Object.new
8
- attr_accessor :callbacks
9
-
10
- def run_1
11
- (@callbacks ||= []) << :run_1
12
- end
13
-
14
- def run_2
15
- (@callbacks ||= []) << :run_2
16
- end
17
- end
18
-
19
- @result = @callback.call(@object)
20
- end
21
-
22
- def test_should_be_successful
23
- assert @result
24
- end
25
-
26
- def test_should_call_each_callback_in_order
27
- assert_equal [:run_1, :run_2], @object.callbacks
28
- end
29
- end
@@ -1,22 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class CallbackWithTerminatorTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- end
7
-
8
- def test_should_not_halt_if_terminator_does_not_match
9
- callback = StateMachines::Callback.new(:before, do: lambda { false }, terminator: lambda { |result| result == true })
10
- callback.call(@object)
11
- end
12
-
13
- def test_should_halt_if_terminator_matches
14
- callback = StateMachines::Callback.new(:before, do: lambda { false }, terminator: lambda { |result| result == false })
15
- assert_throws(:halt) { callback.call(@object) }
16
- end
17
-
18
- def test_should_halt_if_terminator_matches_any_method
19
- callback = StateMachines::Callback.new(:before, do: [lambda { true }, lambda { false }], terminator: lambda { |result| result == false })
20
- assert_throws(:halt) { callback.call(@object) }
21
- end
22
- end
@@ -1,14 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class CallbackWithUnboundMethodTest < StateMachinesTest
4
- def setup
5
- @callback = StateMachines::Callback.new(:before, do: lambda { |*args| @context = args.unshift(self) })
6
-
7
- @object = Object.new
8
- @callback.call(@object, {}, 1, 2, 3)
9
- end
10
-
11
- def test_should_call_method_outside_the_context_of_the_object
12
- assert_equal [self, @object, 1, 2, 3], @context
13
- end
14
- end
@@ -1,17 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class CallbackWithUnlessConditionTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- end
7
-
8
- def test_should_call_if_false
9
- callback = StateMachines::Callback.new(:before, unless: lambda { false }, do: lambda {})
10
- assert callback.call(@object)
11
- end
12
-
13
- def test_should_not_call_if_true
14
- callback = StateMachines::Callback.new(:before, unless: lambda { true }, do: lambda {})
15
- refute callback.call(@object)
16
- end
17
- end
@@ -1,14 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class CallbackWithoutArgumentsTest < StateMachinesTest
4
- def setup
5
- @callback = StateMachines::Callback.new(:before, do: lambda { |object| @arg = object })
6
-
7
- @object = Object.new
8
- @callback.call(@object, {}, 1, 2, 3)
9
- end
10
-
11
- def test_should_call_method_with_object_as_argument
12
- assert_equal @object, @arg
13
- end
14
- end
@@ -1,12 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class CallbackWithoutTerminatorTest < StateMachinesTest
4
- def setup
5
- @object = Object.new
6
- end
7
-
8
- def test_should_not_halt_if_result_is_false
9
- callback = StateMachines::Callback.new(:before, do: lambda { false }, terminator: nil)
10
- callback.call(@object)
11
- end
12
- end
@@ -1,21 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class ErrorByDefaultTest < StateMachinesTest
4
- def setup
5
- @machine = StateMachines::Machine.new(Class.new)
6
- @collection = StateMachines::NodeCollection.new(@machine)
7
- end
8
-
9
- def test_should_not_have_any_nodes
10
- assert_equal 0, @collection.length
11
- end
12
-
13
- def test_should_have_a_machine
14
- assert_equal @machine, @collection.machine
15
- end
16
-
17
- def test_should_index_by_name
18
- @collection << object = Struct.new(:name).new(:parked)
19
- assert_equal object, @collection[:parked]
20
- end
21
- end
@@ -1,23 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class ErrorWithMessageTest < StateMachinesTest
4
- def setup
5
- @machine = StateMachines::Machine.new(Class.new)
6
- @collection = StateMachines::NodeCollection.new(@machine)
7
- end
8
-
9
- def test_should_raise_exception_if_invalid_option_specified
10
- exception = assert_raises(ArgumentError) { StateMachines::NodeCollection.new(@machine, invalid: true) }
11
- assert_equal 'Unknown key: :invalid. Valid keys are: :index', exception.message
12
- end
13
-
14
- def test_should_raise_exception_on_lookup_if_invalid_index_specified
15
- exception = assert_raises(ArgumentError) { @collection[:something, :invalid] }
16
- assert_equal 'Invalid index: :invalid', exception.message
17
- end
18
-
19
- def test_should_raise_exception_on_fetch_if_invalid_index_specified
20
- exception = assert_raises(ArgumentError) { @collection.fetch(:something, :invalid) }
21
- assert_equal 'Invalid index: :invalid', exception.message
22
- end
23
- end
@@ -1,8 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class EvalHelpersBaseTest < StateMachinesTest
4
- include StateMachines::EvalHelpers
5
-
6
- def default_test
7
- end
8
- end
@@ -1,14 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersProcBlockAndExplicitArgumentsTest < EvalHelpersBaseTest
5
- def setup
6
- @object = Object.new
7
- @proc = lambda { |object, arg1, arg2, arg3, block| [object, arg1, arg2, arg3, block] }
8
- end
9
-
10
- def test_should_call_method_on_object_with_all_arguments_and_block
11
- block = lambda { true }
12
- assert_equal [@object, 1, 2, 3, block], evaluate_method(@object, @proc, 1, 2, 3, &block)
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersProcBlockAndImplicitArgumentsTest < EvalHelpersBaseTest
5
- def setup
6
- @object = Object.new
7
- @proc = lambda { |*args| args }
8
- end
9
-
10
- def test_should_call_method_on_object_with_all_arguments_and_block
11
- block = lambda { true }
12
- assert_equal [@object, 1, 2, 3, block], evaluate_method(@object, @proc, 1, 2, 3, &block)
13
- end
14
- end
@@ -1,13 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersProcTest < EvalHelpersBaseTest
5
- def setup
6
- @object = Object.new
7
- @proc = ->(obj) { obj }
8
- end
9
-
10
- def test_should_call_proc_with_object_as_argument
11
- assert_equal @object, evaluate_method(@object, @proc, 1, 2, 3)
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersProcWithArgumentsTest < EvalHelpersBaseTest
5
- def setup
6
- @object = Object.new
7
- @proc = lambda { |*args| args }
8
- end
9
-
10
- def test_should_call_method_with_all_arguments
11
- assert_equal [@object, 1, 2, 3], evaluate_method(@object, @proc, 1, 2, 3)
12
- end
13
- end
@@ -1,13 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersProcWithBlockTest < EvalHelpersBaseTest
5
- def setup
6
- @object = Object.new
7
- @proc = lambda { |_obj, block| block.call }
8
- end
9
-
10
- def test_should_call_method_on_object_with_block
11
- assert_equal true, evaluate_method(@object, @proc, 1, 2, 3) { true }
12
- end
13
- end
@@ -1,18 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersProcWithoutArgumentsTest < EvalHelpersBaseTest
5
- def setup
6
- @object = Object.new
7
- @proc = lambda { |*args| args }
8
- class << @proc
9
- def arity
10
- 0
11
- end
12
- end
13
- end
14
-
15
- def test_should_call_proc_with_no_arguments
16
- assert_equal [], evaluate_method(@object, @proc, 1, 2, 3)
17
- end
18
- end
@@ -1,14 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersProcWithBlockWithoutObjectTest < EvalHelpersBaseTest
5
- def setup
6
- @object = Object.new
7
- @proc = lambda { |block| [block] }
8
- end
9
-
10
- def test_should_call_proc_with_block_only
11
- block = lambda { true }
12
- assert_equal [block], evaluate_method(@object, @proc, 1, 2, 3, &block)
13
- end
14
- end
@@ -1,19 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersProcWithBlockWithoutArgumentsTest < EvalHelpersBaseTest
5
- def setup
6
- @object = Object.new
7
- @proc = lambda { |*args| args }
8
- class << @proc
9
- def arity
10
- 0
11
- end
12
- end
13
- end
14
-
15
- def test_should_call_proc_without_arguments
16
- block = lambda { true }
17
- assert_equal [], evaluate_method(@object, @proc, 1, 2, 3, &block)
18
- end
19
- end
@@ -1,25 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test.rb'
3
-
4
- class EvalHelpersStringTest < EvalHelpersBaseTest
5
- def setup
6
- @object = Object.new
7
- end
8
-
9
- def test_should_evaluate_string
10
- assert_equal 1, evaluate_method(@object, '1')
11
- end
12
-
13
- def test_should_evaluate_string_within_object_context
14
- @object.instance_variable_set('@value', 1)
15
- assert_equal 1, evaluate_method(@object, '@value')
16
- end
17
-
18
- def test_should_ignore_additional_arguments
19
- assert_equal 1, evaluate_method(@object, '1', 2, 3, 4)
20
- end
21
- end
22
-
23
-
24
-
25
-
@@ -1,12 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersStringWithBlockTest < EvalHelpersBaseTest
5
- def setup
6
- @object = Object.new
7
- end
8
-
9
- def test_should_call_method_on_object_with_block
10
- assert_equal 1, evaluate_method(@object, 'yield') { 1 }
11
- end
12
- end
@@ -1,20 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersSymbolMethodMissingTest < EvalHelpersBaseTest
5
- def setup
6
- class << (@object = Object.new)
7
- def method_missing(symbol, *args)
8
- send("method_missing_#{symbol}", *args)
9
- end
10
-
11
- def method_missing_callback(*args)
12
- args
13
- end
14
- end
15
- end
16
-
17
- def test_should_call_dynamic_method_with_all_arguments
18
- assert_equal [1, 2, 3], evaluate_method(@object, :callback, 1, 2, 3)
19
- end
20
- end
@@ -1,17 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersSymbolPrivateTest < EvalHelpersBaseTest
5
- def setup
6
- class << (@object = Object.new)
7
- private
8
- def callback
9
- true
10
- end
11
- end
12
- end
13
-
14
- def test_should_call_method_on_object_with_no_arguments
15
- assert_equal true, evaluate_method(@object, :callback, 1, 2, 3)
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersSymbolProtectedTest < EvalHelpersBaseTest
5
- def setup
6
- class << (@object = Object.new)
7
- protected
8
- def callback
9
- true
10
- end
11
- end
12
- end
13
-
14
- def test_should_call_method_on_object_with_no_arguments
15
- assert_equal true, evaluate_method(@object, :callback, 1, 2, 3)
16
- end
17
- end
@@ -1,18 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersSymbolTaintedMethodTest < EvalHelpersBaseTest
5
- def setup
6
- class << (@object = Object.new)
7
- def callback
8
- true
9
- end
10
-
11
- taint
12
- end
13
- end
14
-
15
- def test_should_not_raise_security_error
16
- evaluate_method(@object, :callback, 1, 2, 3)
17
- end
18
- end
@@ -1,16 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersSymbolTest < EvalHelpersBaseTest
5
- def setup
6
- class << (@object = Object.new)
7
- def callback
8
- true
9
- end
10
- end
11
- end
12
-
13
- def test_should_call_method_on_object_with_no_arguments
14
- assert_equal true, evaluate_method(@object, :callback, 1, 2, 3)
15
- end
16
- end
@@ -1,16 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersSymbolWithArgumentsAndBlockTest < EvalHelpersBaseTest
5
- def setup
6
- class << (@object = Object.new)
7
- def callback(*args)
8
- args << yield
9
- end
10
- end
11
- end
12
-
13
- def test_should_call_method_on_object_with_all_arguments_and_block
14
- assert_equal [1, 2, 3, true], evaluate_method(@object, :callback, 1, 2, 3) { true }
15
- end
16
- end
@@ -1,16 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersSymbolWithArgumentsTest < EvalHelpersBaseTest
5
- def setup
6
- class << (@object = Object.new)
7
- def callback(*args)
8
- args
9
- end
10
- end
11
- end
12
-
13
- def test_should_call_method_with_all_arguments
14
- assert_equal [1, 2, 3], evaluate_method(@object, :callback, 1, 2, 3)
15
- end
16
- end
@@ -1,16 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersSymbolWithBlockTest < EvalHelpersBaseTest
5
- def setup
6
- class << (@object = Object.new)
7
- def callback
8
- yield
9
- end
10
- end
11
- end
12
-
13
- def test_should_call_method_on_object_with_block
14
- assert_equal true, evaluate_method(@object, :callback) { true }
15
- end
16
- end
@@ -1,13 +0,0 @@
1
- require_relative '../../test_helper'
2
- require_relative '../../unit/eval_helper/eval_helpers_base_test'
3
-
4
- class EvalHelpersTest < EvalHelpersBaseTest
5
- def setup
6
- @object = Object.new
7
- end
8
-
9
- def test_should_raise_exception_if_method_is_not_symbol_string_or_proc
10
- exception = assert_raises(ArgumentError) { evaluate_method(@object, 1) }
11
- assert_match(/Methods must/, exception.message)
12
- end
13
- end
@@ -1,17 +0,0 @@
1
- require_relative '../../test_helper'
2
-
3
- class EventAfterBeingCopiedTest < StateMachinesTest
4
- def setup
5
- @machine = StateMachines::Machine.new(Class.new)
6
- @machine.events << @event = StateMachines::Event.new(@machine, :ignite)
7
- @copied_event = @event.dup
8
- end
9
-
10
- def test_should_not_have_the_same_collection_of_branches
11
- refute_same @event.branches, @copied_event.branches
12
- end
13
-
14
- def test_should_not_have_the_same_collection_of_known_states
15
- refute_same @event.known_states, @copied_event.known_states
16
- end
17
- end