axiom-optimizer 0.1.0 → 0.1.1

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 (279) hide show
  1. data/.rspec +1 -0
  2. data/.ruby-gemset +1 -0
  3. data/.travis.yml +4 -6
  4. data/Gemfile +6 -3
  5. data/Gemfile.devtools +26 -24
  6. data/Guardfile +18 -9
  7. data/README.md +2 -25
  8. data/axiom-optimizer.gemspec +1 -3
  9. data/config/devtools.yml +2 -0
  10. data/config/flay.yml +1 -1
  11. data/config/flog.yml +1 -1
  12. data/config/rubocop.yml +53 -0
  13. data/lib/axiom/optimizer.rb +1 -1
  14. data/lib/axiom/optimizer/algebra/difference.rb +1 -1
  15. data/lib/axiom/optimizer/algebra/join.rb +3 -1
  16. data/lib/axiom/optimizer/algebra/projection.rb +1 -1
  17. data/lib/axiom/optimizer/algebra/rename.rb +1 -1
  18. data/lib/axiom/optimizer/algebra/restriction.rb +1 -1
  19. data/lib/axiom/optimizer/algebra/summarization.rb +1 -1
  20. data/lib/axiom/optimizer/function/connective/binary.rb +1 -1
  21. data/lib/axiom/optimizer/optimizable.rb +5 -3
  22. data/lib/axiom/optimizer/relation/materialized.rb +1 -1
  23. data/lib/axiom/optimizer/relation/operation/combination.rb +1 -1
  24. data/lib/axiom/optimizer/relation/operation/limit.rb +2 -2
  25. data/lib/axiom/optimizer/support/predicate_partition.rb +1 -4
  26. data/lib/axiom/optimizer/version.rb +1 -1
  27. data/spec/integration/axiom/algebra/difference/optimize_spec.rb +15 -15
  28. data/spec/integration/axiom/algebra/intersection/optimize_spec.rb +15 -15
  29. data/spec/integration/axiom/algebra/join/optimize_spec.rb +11 -11
  30. data/spec/integration/axiom/algebra/product/optimize_spec.rb +13 -13
  31. data/spec/integration/axiom/algebra/projection/optimize_spec.rb +44 -44
  32. data/spec/integration/axiom/algebra/rename/optimize_spec.rb +70 -70
  33. data/spec/integration/axiom/algebra/restriction/optimize_spec.rb +23 -24
  34. data/spec/integration/axiom/algebra/summarization/optimize_spec.rb +8 -8
  35. data/spec/integration/axiom/algebra/union/optimize_spec.rb +21 -21
  36. data/spec/integration/axiom/function/connective/conjunction/optimize_spec.rb +26 -26
  37. data/spec/integration/axiom/function/connective/disjunction/optimize_spec.rb +27 -28
  38. data/spec/integration/axiom/function/connective/negation/optimize_spec.rb +2 -2
  39. data/spec/integration/axiom/function/optimize_spec.rb +1 -1
  40. data/spec/integration/axiom/function/predicate/equality/optimize_spec.rb +8 -8
  41. data/spec/integration/axiom/function/predicate/exclusion/optimize_spec.rb +19 -19
  42. data/spec/integration/axiom/function/predicate/greater_than/optimize_spec.rb +17 -17
  43. data/spec/integration/axiom/function/predicate/greater_than_or_equal_to/optimize_spec.rb +17 -17
  44. data/spec/integration/axiom/function/predicate/inclusion/optimize_spec.rb +19 -19
  45. data/spec/integration/axiom/function/predicate/inequality/optimize_spec.rb +8 -8
  46. data/spec/integration/axiom/function/predicate/less_than/optimize_spec.rb +17 -17
  47. data/spec/integration/axiom/function/predicate/less_than_or_equal_to/optimize_spec.rb +17 -17
  48. data/spec/integration/axiom/relation/empty/optimize_spec.rb +2 -2
  49. data/spec/integration/axiom/relation/materialized/optimize_spec.rb +3 -3
  50. data/spec/integration/axiom/relation/operation/limit/optimize_spec.rb +16 -16
  51. data/spec/integration/axiom/relation/operation/offset/optimize_spec.rb +14 -14
  52. data/spec/integration/axiom/relation/operation/order/optimize_spec.rb +11 -11
  53. data/spec/integration/axiom/relation/operation/reverse/optimize_spec.rb +9 -9
  54. data/spec/integration/axiom/relation/optimize_spec.rb +4 -4
  55. data/spec/shared/function_connective_binary_optimize_behavior.rb +18 -18
  56. data/spec/shared/optimize_method_behavior.rb +2 -2
  57. data/spec/spec_helper.rb +7 -8
  58. data/spec/support/add_method_missing.rb +3 -4
  59. data/spec/unit/axiom/optimizer/algebra/difference/empty_left/optimize_spec.rb +7 -7
  60. data/spec/unit/axiom/optimizer/algebra/difference/empty_right/optimize_spec.rb +7 -7
  61. data/spec/unit/axiom/optimizer/algebra/difference/equal_operands/optimize_spec.rb +7 -9
  62. data/spec/unit/axiom/optimizer/algebra/extension/extensions_spec.rb +3 -3
  63. data/spec/unit/axiom/optimizer/algebra/extension/order_operand/optimizable_predicate_spec.rb +3 -3
  64. data/spec/unit/axiom/optimizer/algebra/extension/order_operand/optimize_spec.rb +6 -6
  65. data/spec/unit/axiom/optimizer/algebra/extension/unoptimized_operand/optimizable_predicate_spec.rb +10 -10
  66. data/spec/unit/axiom/optimizer/algebra/extension/unoptimized_operand/optimize_spec.rb +10 -10
  67. data/spec/unit/axiom/optimizer/algebra/intersection/empty_left/optimize_spec.rb +7 -7
  68. data/spec/unit/axiom/optimizer/algebra/intersection/empty_right/optimize_spec.rb +7 -7
  69. data/spec/unit/axiom/optimizer/algebra/intersection/equal_operands/optimize_spec.rb +7 -7
  70. data/spec/unit/axiom/optimizer/algebra/join/disjoint_headers/optimizable_predicate_spec.rb +6 -6
  71. data/spec/unit/axiom/optimizer/algebra/join/disjoint_headers/optimize_spec.rb +7 -7
  72. data/spec/unit/axiom/optimizer/algebra/join/equal_headers/optimizable_predicate_spec.rb +6 -6
  73. data/spec/unit/axiom/optimizer/algebra/join/equal_headers/optimize_spec.rb +8 -8
  74. data/spec/unit/axiom/optimizer/algebra/join/materialized_left/optimizable_predicate_spec.rb +9 -9
  75. data/spec/unit/axiom/optimizer/algebra/join/materialized_left/optimize_spec.rb +12 -12
  76. data/spec/unit/axiom/optimizer/algebra/join/materialized_right/optimizable_predicate_spec.rb +9 -9
  77. data/spec/unit/axiom/optimizer/algebra/join/materialized_right/optimize_spec.rb +12 -12
  78. data/spec/unit/axiom/optimizer/algebra/product/table_dee_left/optimizable_predicate_spec.rb +4 -4
  79. data/spec/unit/axiom/optimizer/algebra/product/table_dee_left/optimize_spec.rb +6 -6
  80. data/spec/unit/axiom/optimizer/algebra/product/table_dee_right/optimizable_predicate_spec.rb +4 -4
  81. data/spec/unit/axiom/optimizer/algebra/product/table_dee_right/optimize_spec.rb +6 -6
  82. data/spec/unit/axiom/optimizer/algebra/projection/empty_operand/optimizable_predicate_spec.rb +5 -5
  83. data/spec/unit/axiom/optimizer/algebra/projection/empty_operand/optimize_spec.rb +6 -8
  84. data/spec/unit/axiom/optimizer/algebra/projection/extension_operand/optimizable_predicate_spec.rb +6 -6
  85. data/spec/unit/axiom/optimizer/algebra/projection/extension_operand/optimize_spec.rb +12 -6
  86. data/spec/unit/axiom/optimizer/algebra/projection/projection_operand/optimizable_predicate_spec.rb +6 -6
  87. data/spec/unit/axiom/optimizer/algebra/projection/projection_operand/optimize_spec.rb +7 -7
  88. data/spec/unit/axiom/optimizer/algebra/projection/union_operand/optimizable_predicate_spec.rb +6 -6
  89. data/spec/unit/axiom/optimizer/algebra/projection/union_operand/optimize_spec.rb +10 -10
  90. data/spec/unit/axiom/optimizer/algebra/projection/unoptimized_operand/optimizable_predicate_spec.rb +5 -5
  91. data/spec/unit/axiom/optimizer/algebra/projection/unoptimized_operand/optimize_spec.rb +7 -7
  92. data/spec/unit/axiom/optimizer/algebra/rename/aliases_spec.rb +7 -7
  93. data/spec/unit/axiom/optimizer/algebra/rename/empty_operand/optimizable_predicate_spec.rb +5 -5
  94. data/spec/unit/axiom/optimizer/algebra/rename/empty_operand/optimize_spec.rb +5 -7
  95. data/spec/unit/axiom/optimizer/algebra/rename/limit_operand/optimizable_predicate_spec.rb +5 -5
  96. data/spec/unit/axiom/optimizer/algebra/rename/limit_operand/optimize_spec.rb +7 -7
  97. data/spec/unit/axiom/optimizer/algebra/rename/offset_operand/optimizable_predicate_spec.rb +5 -5
  98. data/spec/unit/axiom/optimizer/algebra/rename/offset_operand/optimize_spec.rb +7 -7
  99. data/spec/unit/axiom/optimizer/algebra/rename/order_operand/optimizable_predicate_spec.rb +5 -5
  100. data/spec/unit/axiom/optimizer/algebra/rename/order_operand/optimize_spec.rb +7 -7
  101. data/spec/unit/axiom/optimizer/algebra/rename/projection_operand/optimizable_predicate_spec.rb +12 -12
  102. data/spec/unit/axiom/optimizer/algebra/rename/projection_operand/optimize_spec.rb +7 -7
  103. data/spec/unit/axiom/optimizer/algebra/rename/rename_operand/optimizable_predicate_spec.rb +9 -9
  104. data/spec/unit/axiom/optimizer/algebra/rename/rename_operand/optimize_spec.rb +7 -7
  105. data/spec/unit/axiom/optimizer/algebra/rename/rename_operand_and_empty_aliases/optimizable_predicate_spec.rb +11 -11
  106. data/spec/unit/axiom/optimizer/algebra/rename/rename_operand_and_empty_aliases/optimize_spec.rb +6 -6
  107. data/spec/unit/axiom/optimizer/algebra/rename/restriction_operand/optimizable_predicate_spec.rb +6 -6
  108. data/spec/unit/axiom/optimizer/algebra/rename/restriction_operand/optimize_spec.rb +7 -7
  109. data/spec/unit/axiom/optimizer/algebra/rename/reverse_operand/optimizable_predicate_spec.rb +4 -4
  110. data/spec/unit/axiom/optimizer/algebra/rename/reverse_operand/optimize_spec.rb +8 -8
  111. data/spec/unit/axiom/optimizer/algebra/rename/set_operand/optimizable_predicate_spec.rb +6 -6
  112. data/spec/unit/axiom/optimizer/algebra/rename/set_operand/optimize_spec.rb +8 -8
  113. data/spec/unit/axiom/optimizer/algebra/rename/unoptimized_operand/optimizable_predicate_spec.rb +6 -6
  114. data/spec/unit/axiom/optimizer/algebra/rename/unoptimized_operand/optimize_spec.rb +7 -7
  115. data/spec/unit/axiom/optimizer/algebra/restriction/combination_operand/optimizable_predicate_spec.rb +6 -6
  116. data/spec/unit/axiom/optimizer/algebra/restriction/combination_operand/optimize_spec.rb +6 -6
  117. data/spec/unit/axiom/optimizer/algebra/restriction/contradiction/optimizable_predicate_spec.rb +5 -5
  118. data/spec/unit/axiom/optimizer/algebra/restriction/contradiction/optimize_spec.rb +7 -9
  119. data/spec/unit/axiom/optimizer/algebra/restriction/join_operand/optimizable_predicate_spec.rb +5 -5
  120. data/spec/unit/axiom/optimizer/algebra/restriction/join_operand/optimize_spec.rb +17 -17
  121. data/spec/unit/axiom/optimizer/algebra/restriction/order_operand/optimizable_predicate_spec.rb +5 -5
  122. data/spec/unit/axiom/optimizer/algebra/restriction/order_operand/optimize_spec.rb +7 -7
  123. data/spec/unit/axiom/optimizer/algebra/restriction/predicate_spec.rb +6 -6
  124. data/spec/unit/axiom/optimizer/algebra/restriction/product_operand/optimizable_predicate_spec.rb +5 -5
  125. data/spec/unit/axiom/optimizer/algebra/restriction/product_operand/optimize_spec.rb +17 -17
  126. data/spec/unit/axiom/optimizer/algebra/restriction/restriction_operand/optimizable_predicate_spec.rb +7 -7
  127. data/spec/unit/axiom/optimizer/algebra/restriction/restriction_operand/optimize_spec.rb +6 -6
  128. data/spec/unit/axiom/optimizer/algebra/restriction/set_operand/optimizable_predicate_spec.rb +7 -7
  129. data/spec/unit/axiom/optimizer/algebra/restriction/set_operand/optimize_spec.rb +7 -7
  130. data/spec/unit/axiom/optimizer/algebra/restriction/tautology/optimizable_predicate_spec.rb +4 -4
  131. data/spec/unit/axiom/optimizer/algebra/restriction/tautology/optimize_spec.rb +7 -7
  132. data/spec/unit/axiom/optimizer/algebra/restriction/unoptimized_operand/optimizable_predicate_spec.rb +5 -5
  133. data/spec/unit/axiom/optimizer/algebra/restriction/unoptimized_operand/optimize_spec.rb +7 -7
  134. data/spec/unit/axiom/optimizer/algebra/summarization/empty_operand/class_methods/extension_default_spec.rb +1 -1
  135. data/spec/unit/axiom/optimizer/algebra/summarization/empty_operand/optimizable_predicate_spec.rb +6 -6
  136. data/spec/unit/axiom/optimizer/algebra/summarization/empty_operand/optimize_spec.rb +13 -13
  137. data/spec/unit/axiom/optimizer/algebra/summarization/empty_summarize_per/optimizable_predicate_spec.rb +8 -8
  138. data/spec/unit/axiom/optimizer/algebra/summarization/empty_summarize_per/optimize_spec.rb +5 -7
  139. data/spec/unit/axiom/optimizer/algebra/summarization/order_operand/optimizable_predicate_spec.rb +3 -3
  140. data/spec/unit/axiom/optimizer/algebra/summarization/order_operand/optimize_spec.rb +6 -6
  141. data/spec/unit/axiom/optimizer/algebra/summarization/summarize_per_spec.rb +7 -7
  142. data/spec/unit/axiom/optimizer/algebra/summarization/summarizers_spec.rb +3 -3
  143. data/spec/unit/axiom/optimizer/algebra/summarization/unoptimized_operand/optimizable_predicate_spec.rb +3 -3
  144. data/spec/unit/axiom/optimizer/algebra/summarization/unoptimized_operand/optimize_spec.rb +6 -6
  145. data/spec/unit/axiom/optimizer/algebra/union/empty_left/optimize_spec.rb +7 -7
  146. data/spec/unit/axiom/optimizer/algebra/union/empty_right/optimize_spec.rb +7 -7
  147. data/spec/unit/axiom/optimizer/algebra/union/equal_operands/optimize_spec.rb +7 -7
  148. data/spec/unit/axiom/optimizer/class_methods/chain_spec.rb +8 -8
  149. data/spec/unit/axiom/optimizer/function/binary/constant_operands/optimize_spec.rb +1 -1
  150. data/spec/unit/axiom/optimizer/function/binary/left_spec.rb +2 -2
  151. data/spec/unit/axiom/optimizer/function/binary/right_spec.rb +2 -2
  152. data/spec/unit/axiom/optimizer/function/binary/unoptimized_operands/optimizable_predicate_spec.rb +4 -4
  153. data/spec/unit/axiom/optimizer/function/binary/unoptimized_operands/optimize_spec.rb +3 -3
  154. data/spec/unit/axiom/optimizer/function/class_methods/optimize_functions_spec.rb +4 -4
  155. data/spec/unit/axiom/optimizer/function/class_methods/optimize_operand_spec.rb +5 -5
  156. data/spec/unit/axiom/optimizer/function/connective/binary/constant_operands/optimize_spec.rb +2 -2
  157. data/spec/unit/axiom/optimizer/function/connective/binary/equal_operands/optimizable_predicate_spec.rb +1 -1
  158. data/spec/unit/axiom/optimizer/function/connective/binary/equal_operands/optimize_spec.rb +2 -2
  159. data/spec/unit/axiom/optimizer/function/connective/binary/left_spec.rb +7 -7
  160. data/spec/unit/axiom/optimizer/function/connective/binary/redundant_left/optimizable_predicate_spec.rb +3 -3
  161. data/spec/unit/axiom/optimizer/function/connective/binary/redundant_left/optimize_spec.rb +3 -3
  162. data/spec/unit/axiom/optimizer/function/connective/binary/redundant_right/optimizable_predicate_spec.rb +3 -3
  163. data/spec/unit/axiom/optimizer/function/connective/binary/redundant_right/optimize_spec.rb +3 -3
  164. data/spec/unit/axiom/optimizer/function/connective/binary/right_spec.rb +7 -7
  165. data/spec/unit/axiom/optimizer/function/connective/conjunction/contradiction/optimizable_predicate_spec.rb +1 -1
  166. data/spec/unit/axiom/optimizer/function/connective/conjunction/contradiction/optimize_spec.rb +2 -2
  167. data/spec/unit/axiom/optimizer/function/connective/conjunction/optimizable_to_exclusion/optimizable_predicate_spec.rb +9 -9
  168. data/spec/unit/axiom/optimizer/function/connective/conjunction/optimizable_to_exclusion/optimize_spec.rb +17 -17
  169. data/spec/unit/axiom/optimizer/function/connective/conjunction/tautology_left/optimizable_predicate_spec.rb +1 -1
  170. data/spec/unit/axiom/optimizer/function/connective/conjunction/tautology_left/optimize_spec.rb +2 -2
  171. data/spec/unit/axiom/optimizer/function/connective/conjunction/tautology_right/optimizable_predicate_spec.rb +1 -1
  172. data/spec/unit/axiom/optimizer/function/connective/conjunction/tautology_right/optimize_spec.rb +2 -2
  173. data/spec/unit/axiom/optimizer/function/connective/disjunction/contradiction_left/optimizable_predicate_spec.rb +1 -1
  174. data/spec/unit/axiom/optimizer/function/connective/disjunction/contradiction_left/optimize_spec.rb +2 -2
  175. data/spec/unit/axiom/optimizer/function/connective/disjunction/contradiction_right/optimizable_predicate_spec.rb +1 -1
  176. data/spec/unit/axiom/optimizer/function/connective/disjunction/contradiction_right/optimize_spec.rb +2 -2
  177. data/spec/unit/axiom/optimizer/function/connective/disjunction/optimizable_to_inclusion/optimizable_predicate_spec.rb +9 -9
  178. data/spec/unit/axiom/optimizer/function/connective/disjunction/optimizable_to_inclusion/optimize_spec.rb +17 -17
  179. data/spec/unit/axiom/optimizer/function/connective/disjunction/tautology/optimizable_predicate_spec.rb +1 -1
  180. data/spec/unit/axiom/optimizer/function/connective/disjunction/tautology/optimize_spec.rb +2 -2
  181. data/spec/unit/axiom/optimizer/function/connective/negation/constant_operand/optimize_spec.rb +2 -2
  182. data/spec/unit/axiom/optimizer/function/connective/negation/invertible_operand/optimizable_predicate_spec.rb +1 -1
  183. data/spec/unit/axiom/optimizer/function/connective/negation/invertible_operand/optimize_spec.rb +2 -2
  184. data/spec/unit/axiom/optimizer/function/connective/negation/operand_spec.rb +5 -5
  185. data/spec/unit/axiom/optimizer/function/predicate/comparable/never_comparable/optimizable_predicate_spec.rb +1 -1
  186. data/spec/unit/axiom/optimizer/function/predicate/comparable/never_equivalent/optimizable_predicate_spec.rb +4 -4
  187. data/spec/unit/axiom/optimizer/function/predicate/comparable/normalizable_operands/optimizable_predicate_spec.rb +1 -1
  188. data/spec/unit/axiom/optimizer/function/predicate/comparable/normalizable_operands/optimize_spec.rb +2 -2
  189. data/spec/unit/axiom/optimizer/function/predicate/constant_operands/optimize_spec.rb +2 -2
  190. data/spec/unit/axiom/optimizer/function/predicate/contradiction/optimize_spec.rb +1 -1
  191. data/spec/unit/axiom/optimizer/function/predicate/enumerable/class_methods/sort_by_value_spec.rb +1 -1
  192. data/spec/unit/axiom/optimizer/function/predicate/enumerable/empty_right/optimizable_predicate_spec.rb +8 -8
  193. data/spec/unit/axiom/optimizer/function/predicate/enumerable/one_right/optimizable_predicate_spec.rb +7 -7
  194. data/spec/unit/axiom/optimizer/function/predicate/enumerable/unoptimized_operands/optimizable_predicate_spec.rb +5 -5
  195. data/spec/unit/axiom/optimizer/function/predicate/enumerable/unoptimized_operands/optimize_spec.rb +14 -14
  196. data/spec/unit/axiom/optimizer/function/predicate/equality/tautology/optimizable_predicate_spec.rb +1 -1
  197. data/spec/unit/axiom/optimizer/function/predicate/exclusion/empty_right/optimize_spec.rb +7 -7
  198. data/spec/unit/axiom/optimizer/function/predicate/exclusion/one_right/optimize_spec.rb +9 -9
  199. data/spec/unit/axiom/optimizer/function/predicate/greater_than/contradiction/optimizable_predicate_spec.rb +3 -3
  200. data/spec/unit/axiom/optimizer/function/predicate/greater_than/tautology/optimizable_predicate_spec.rb +3 -3
  201. data/spec/unit/axiom/optimizer/function/predicate/greater_than_or_equal_to/contradiction/optimizable_predicate_spec.rb +3 -3
  202. data/spec/unit/axiom/optimizer/function/predicate/greater_than_or_equal_to/tautology/optimizable_predicate_spec.rb +3 -3
  203. data/spec/unit/axiom/optimizer/function/predicate/inclusion/empty_right/optimize_spec.rb +7 -7
  204. data/spec/unit/axiom/optimizer/function/predicate/inclusion/one_right/optimize_spec.rb +9 -9
  205. data/spec/unit/axiom/optimizer/function/predicate/inequality/contradiction/optimizable_predicate_spec.rb +1 -1
  206. data/spec/unit/axiom/optimizer/function/predicate/less_than/contradiction/optimizable_predicate_spec.rb +3 -3
  207. data/spec/unit/axiom/optimizer/function/predicate/less_than/tautology/optimizable_predicate_spec.rb +3 -3
  208. data/spec/unit/axiom/optimizer/function/predicate/less_than_or_equal_to/contradiction/optimizable_predicate_spec.rb +3 -3
  209. data/spec/unit/axiom/optimizer/function/predicate/less_than_or_equal_to/tautology/optimizable_predicate_spec.rb +3 -3
  210. data/spec/unit/axiom/optimizer/function/predicate/tautology/optimize_spec.rb +1 -1
  211. data/spec/unit/axiom/optimizer/function/unary/constant_operand/optimize_spec.rb +1 -1
  212. data/spec/unit/axiom/optimizer/function/unary/operand_spec.rb +2 -2
  213. data/spec/unit/axiom/optimizer/function/unary/unoptimized_operand/optimize_spec.rb +1 -1
  214. data/spec/unit/axiom/optimizer/function/util/class_methods/max_spec.rb +2 -2
  215. data/spec/unit/axiom/optimizer/function/util/class_methods/min_spec.rb +2 -2
  216. data/spec/unit/axiom/optimizer/operation_spec.rb +2 -2
  217. data/spec/unit/axiom/optimizer/optimizable/class_methods/optimizer_spec.rb +3 -3
  218. data/spec/unit/axiom/optimizer/optimizable/optimize_spec.rb +7 -7
  219. data/spec/unit/axiom/optimizer/optimizable_predicate_spec.rb +2 -2
  220. data/spec/unit/axiom/optimizer/optimize_spec.rb +2 -2
  221. data/spec/unit/axiom/optimizer/predicate_partition/left_spec.rb +18 -18
  222. data/spec/unit/axiom/optimizer/predicate_partition/remainder_spec.rb +19 -19
  223. data/spec/unit/axiom/optimizer/predicate_partition/right_spec.rb +18 -18
  224. data/spec/unit/axiom/optimizer/relation/materialized/empty_operand/optimizable_predicate_spec.rb +3 -3
  225. data/spec/unit/axiom/optimizer/relation/materialized/empty_operand/optimize_spec.rb +5 -7
  226. data/spec/unit/axiom/optimizer/relation/operation/binary/empty_left/optimizable_predicate_spec.rb +4 -4
  227. data/spec/unit/axiom/optimizer/relation/operation/binary/empty_right/optimizable_predicate_spec.rb +4 -4
  228. data/spec/unit/axiom/optimizer/relation/operation/binary/equal_operands/optimizable_predicate_spec.rb +3 -3
  229. data/spec/unit/axiom/optimizer/relation/operation/binary/left_spec.rb +6 -6
  230. data/spec/unit/axiom/optimizer/relation/operation/binary/materialized_operands/optimizable_predicate_spec.rb +6 -6
  231. data/spec/unit/axiom/optimizer/relation/operation/binary/materialized_operands/optimize_spec.rb +7 -7
  232. data/spec/unit/axiom/optimizer/relation/operation/binary/order_left/optimizable_predicate_spec.rb +5 -5
  233. data/spec/unit/axiom/optimizer/relation/operation/binary/order_left/optimize_spec.rb +8 -8
  234. data/spec/unit/axiom/optimizer/relation/operation/binary/order_right/optimizable_predicate_spec.rb +5 -5
  235. data/spec/unit/axiom/optimizer/relation/operation/binary/order_right/optimize_spec.rb +8 -8
  236. data/spec/unit/axiom/optimizer/relation/operation/binary/right_spec.rb +6 -6
  237. data/spec/unit/axiom/optimizer/relation/operation/binary/unoptimized_operands/optimizable_predicate_spec.rb +4 -4
  238. data/spec/unit/axiom/optimizer/relation/operation/binary/unoptimized_operands/optimize_spec.rb +8 -8
  239. data/spec/unit/axiom/optimizer/relation/operation/combination/optimize_spec.rb +5 -7
  240. data/spec/unit/axiom/optimizer/relation/operation/limit/equal_limit_operand/optimizable_predicate_spec.rb +4 -4
  241. data/spec/unit/axiom/optimizer/relation/operation/limit/equal_limit_operand/optimize_spec.rb +6 -6
  242. data/spec/unit/axiom/optimizer/relation/operation/limit/limit_operand/optimizable_predicate_spec.rb +4 -4
  243. data/spec/unit/axiom/optimizer/relation/operation/limit/limit_operand/optimize_spec.rb +6 -6
  244. data/spec/unit/axiom/optimizer/relation/operation/limit/unoptimized_operand/optimizable_predicate_spec.rb +5 -5
  245. data/spec/unit/axiom/optimizer/relation/operation/limit/unoptimized_operand/optimize_spec.rb +6 -6
  246. data/spec/unit/axiom/optimizer/relation/operation/limit/zero_limit/optimizable_predicate_spec.rb +4 -4
  247. data/spec/unit/axiom/optimizer/relation/operation/limit/zero_limit/optimize_spec.rb +6 -8
  248. data/spec/unit/axiom/optimizer/relation/operation/offset/offset_operand/optimizable_predicate_spec.rb +4 -4
  249. data/spec/unit/axiom/optimizer/relation/operation/offset/offset_operand/optimize_spec.rb +5 -5
  250. data/spec/unit/axiom/optimizer/relation/operation/offset/unoptimized_operand/optimizable_predicate_spec.rb +5 -5
  251. data/spec/unit/axiom/optimizer/relation/operation/offset/unoptimized_operand/optimize_spec.rb +6 -6
  252. data/spec/unit/axiom/optimizer/relation/operation/offset/zero_offset/optimizable_predicate_spec.rb +4 -4
  253. data/spec/unit/axiom/optimizer/relation/operation/offset/zero_offset/optimize_spec.rb +5 -5
  254. data/spec/unit/axiom/optimizer/relation/operation/order/one_limit_operand/optimizable_predicate_spec.rb +4 -4
  255. data/spec/unit/axiom/optimizer/relation/operation/order/one_limit_operand/optimize_spec.rb +6 -6
  256. data/spec/unit/axiom/optimizer/relation/operation/order/order_operand/optimizable_predicate_spec.rb +4 -4
  257. data/spec/unit/axiom/optimizer/relation/operation/order/order_operand/optimize_spec.rb +6 -6
  258. data/spec/unit/axiom/optimizer/relation/operation/order/unoptimized_operand/optimizable_predicate_spec.rb +5 -5
  259. data/spec/unit/axiom/optimizer/relation/operation/order/unoptimized_operand/optimize_spec.rb +7 -7
  260. data/spec/unit/axiom/optimizer/relation/operation/reverse/order_operand/optimizable_predicate_spec.rb +4 -4
  261. data/spec/unit/axiom/optimizer/relation/operation/reverse/order_operand/optimize_spec.rb +7 -7
  262. data/spec/unit/axiom/optimizer/relation/operation/reverse/reverse_operand/optimizable_predicate_spec.rb +4 -4
  263. data/spec/unit/axiom/optimizer/relation/operation/reverse/reverse_operand/optimize_spec.rb +7 -7
  264. data/spec/unit/axiom/optimizer/relation/operation/reverse/unoptimized_operand/optimizable_predicate_spec.rb +4 -4
  265. data/spec/unit/axiom/optimizer/relation/operation/reverse/unoptimized_operand/optimize_spec.rb +7 -7
  266. data/spec/unit/axiom/optimizer/relation/operation/unary/empty_operand/optimizable_predicate_spec.rb +5 -5
  267. data/spec/unit/axiom/optimizer/relation/operation/unary/empty_operand/optimize_spec.rb +5 -5
  268. data/spec/unit/axiom/optimizer/relation/operation/unary/header_spec.rb +6 -6
  269. data/spec/unit/axiom/optimizer/relation/operation/unary/materialized_operand/optimizable_predicate_spec.rb +5 -5
  270. data/spec/unit/axiom/optimizer/relation/operation/unary/materialized_operand/optimize_spec.rb +5 -5
  271. data/spec/unit/axiom/optimizer/relation/operation/unary/operand_spec.rb +7 -7
  272. data/spec/unit/axiom/optimizer/relation/operation/unary/order_operand/optimizable_predicate_spec.rb +4 -4
  273. data/spec/unit/axiom/optimizer/relation/operation/unary/order_operand/optimize_spec.rb +6 -6
  274. data/spec/unit/axiom/optimizer/relation/operation/unary/unchanged_header/optimizable_predicate_spec.rb +5 -5
  275. data/spec/unit/axiom/optimizer/relation/operation/unary/unchanged_header/optimize_spec.rb +5 -5
  276. metadata +24 -289
  277. checksums.yaml +0 -7
  278. data/.gemtest +0 -0
  279. data/.rvmrc +0 -1
@@ -10,11 +10,11 @@ describe Optimizer::Function::Predicate::Enumerable::UnoptimizedOperands, '#opti
10
10
  let(:object) { described_class.new(predicate) }
11
11
 
12
12
  before do
13
- predicate.should be_kind_of(Function::Predicate::Enumerable)
13
+ expect(predicate).to be_kind_of(Function::Predicate::Enumerable)
14
14
  end
15
15
 
16
16
  context 'when the operand contains an unsorted Enumerable' do
17
- let(:operand) { [ 2, 1 ] }
17
+ let(:operand) { [2, 1] }
18
18
 
19
19
  it { should be(true) }
20
20
  end
@@ -26,19 +26,19 @@ describe Optimizer::Function::Predicate::Enumerable::UnoptimizedOperands, '#opti
26
26
  end
27
27
 
28
28
  context 'when the operand contains an Enumerable after filtering invalid entries' do
29
- let(:operand) { [ 'a', 1, 2 ] }
29
+ let(:operand) { ['a', 1, 2] }
30
30
 
31
31
  it { should be(true) }
32
32
  end
33
33
 
34
34
  context 'when the operand contains an Enumerable after filtering duplicate entries' do
35
- let(:operand) { [ 1, 1, 2, 2 ] }
35
+ let(:operand) { [1, 1, 2, 2] }
36
36
 
37
37
  it { should be(true) }
38
38
  end
39
39
 
40
40
  context 'when the operand contains a sorted Enumerable' do
41
- let(:operand) { [ 1, 2 ] }
41
+ let(:operand) { [1, 2] }
42
42
 
43
43
  it { should be(false) }
44
44
  end
@@ -10,28 +10,28 @@ describe Optimizer::Function::Predicate::Enumerable::UnoptimizedOperands, '#opti
10
10
  let(:object) { described_class.new(predicate) }
11
11
 
12
12
  before do
13
- object.should be_optimizable
13
+ expect(object).to be_optimizable
14
14
  end
15
15
 
16
16
  context 'when the operand contains an unsorted Enumerable' do
17
- let(:operand) { [ 2, 1 ] }
17
+ let(:operand) { [2, 1] }
18
18
 
19
19
  it { should be_kind_of(Function::Predicate::Inclusion) }
20
20
 
21
- its(:left) { should equal(attribute) }
21
+ its(:left) { should be(attribute) }
22
22
 
23
- its(:right) { should == [ 1, 2 ] }
23
+ its(:right) { should == [1, 2] }
24
24
  end
25
25
 
26
26
  context 'when the operand contains an Enumerable with boolean values' do
27
27
  let(:attribute) { Attribute::Boolean.new(:status) }
28
- let(:operand) { [ true, false ] }
28
+ let(:operand) { [true, false] }
29
29
 
30
30
  it { should be_kind_of(Function::Predicate::Inclusion) }
31
31
 
32
- its(:left) { should equal(attribute) }
32
+ its(:left) { should be(attribute) }
33
33
 
34
- its(:right) { should == [ false, true ] }
34
+ its(:right) { should == [false, true] }
35
35
  end
36
36
 
37
37
  context 'when the operand contains an exclusive Range' do
@@ -39,28 +39,28 @@ describe Optimizer::Function::Predicate::Enumerable::UnoptimizedOperands, '#opti
39
39
 
40
40
  it { should be_kind_of(Function::Predicate::Inclusion) }
41
41
 
42
- its(:left) { should equal(attribute) }
42
+ its(:left) { should be(attribute) }
43
43
 
44
44
  its(:right) { should == (1..2) }
45
45
  end
46
46
 
47
47
  context 'when the operand contains an Enumerable after filtering invalid entries' do
48
- let(:operand) { [ 'a', 1, 2 ] }
48
+ let(:operand) { ['a', 1, 2] }
49
49
 
50
50
  it { should be_kind_of(Function::Predicate::Inclusion) }
51
51
 
52
- its(:left) { should equal(attribute) }
52
+ its(:left) { should be(attribute) }
53
53
 
54
- its(:right) { should == [ 1, 2 ] }
54
+ its(:right) { should == [1, 2] }
55
55
  end
56
56
 
57
57
  context 'when the operand contains an Enumerable after filtering duplicate entries' do
58
- let(:operand) { [ 1, 1, 2, 2 ] }
58
+ let(:operand) { [1, 1, 2, 2] }
59
59
 
60
60
  it { should be_kind_of(Function::Predicate::Inclusion) }
61
61
 
62
- its(:left) { should equal(attribute) }
62
+ its(:left) { should be(attribute) }
63
63
 
64
- its(:right) { should == [ 1, 2 ] }
64
+ its(:right) { should == [1, 2] }
65
65
  end
66
66
  end
@@ -10,7 +10,7 @@ describe Optimizer::Function::Predicate::Equality::Tautology, '#optimizable?' do
10
10
  let(:object) { described_class.new(predicate) }
11
11
 
12
12
  before do
13
- predicate.should be_kind_of(Function::Predicate::Equality)
13
+ expect(predicate).to be_kind_of(Function::Predicate::Equality)
14
14
  end
15
15
 
16
16
  context 'when left and right are equal' do
@@ -10,36 +10,36 @@ describe Optimizer::Function::Predicate::Exclusion::EmptyRight, '#optimize' do
10
10
  let(:object) { described_class.new(predicate) }
11
11
 
12
12
  before do
13
- object.should be_optimizable
13
+ expect(object).to be_optimizable
14
14
  end
15
15
 
16
16
  context 'when the operand contains a nil' do
17
17
  let(:operand) { nil }
18
18
 
19
- it { should equal(Function::Proposition::Tautology.instance) }
19
+ it { should be(Function::Proposition::Tautology.instance) }
20
20
  end
21
21
 
22
22
  context 'when the operand contains an empty Enumerable' do
23
23
  let(:operand) { [] }
24
24
 
25
- it { should equal(Function::Proposition::Tautology.instance) }
25
+ it { should be(Function::Proposition::Tautology.instance) }
26
26
  end
27
27
 
28
28
  context 'when the operand contains an empty inclusive Range' do
29
29
  let(:operand) { 1..0 }
30
30
 
31
- it { should equal(Function::Proposition::Tautology.instance) }
31
+ it { should be(Function::Proposition::Tautology.instance) }
32
32
  end
33
33
 
34
34
  context 'when the operand contains an empty exclusive Range' do
35
35
  let(:operand) { 1...1 }
36
36
 
37
- it { should equal(Function::Proposition::Tautology.instance) }
37
+ it { should be(Function::Proposition::Tautology.instance) }
38
38
  end
39
39
 
40
40
  context 'when the operand is empty after filtering invalid entries' do
41
- let(:operand) { [ 'a' ] }
41
+ let(:operand) { ['a'] }
42
42
 
43
- it { should equal(Function::Proposition::Tautology.instance) }
43
+ it { should be(Function::Proposition::Tautology.instance) }
44
44
  end
45
45
  end
@@ -10,15 +10,15 @@ describe Optimizer::Function::Predicate::Exclusion::OneRight, '#optimize' do
10
10
  let(:object) { described_class.new(predicate) }
11
11
 
12
12
  before do
13
- object.should be_optimizable
13
+ expect(object).to be_optimizable
14
14
  end
15
15
 
16
16
  context 'when the operand contains a one entry Enumerable' do
17
- let(:operand) { [ 1 ] }
17
+ let(:operand) { [1] }
18
18
 
19
19
  it { should be_kind_of(Function::Predicate::Inequality) }
20
20
 
21
- its(:left) { should equal(attribute) }
21
+ its(:left) { should be(attribute) }
22
22
 
23
23
  its(:right) { should == 1 }
24
24
  end
@@ -28,7 +28,7 @@ describe Optimizer::Function::Predicate::Exclusion::OneRight, '#optimize' do
28
28
 
29
29
  it { should be_kind_of(Function::Predicate::Inequality) }
30
30
 
31
- its(:left) { should equal(attribute) }
31
+ its(:left) { should be(attribute) }
32
32
 
33
33
  its(:right) { should == 1 }
34
34
  end
@@ -38,27 +38,27 @@ describe Optimizer::Function::Predicate::Exclusion::OneRight, '#optimize' do
38
38
 
39
39
  it { should be_kind_of(Function::Predicate::Inequality) }
40
40
 
41
- its(:left) { should equal(attribute) }
41
+ its(:left) { should be(attribute) }
42
42
 
43
43
  its(:right) { should == 1 }
44
44
  end
45
45
 
46
46
  context 'when the operand contains one entry after filtering invalid entries' do
47
- let(:operand) { [ 'a', 1 ] }
47
+ let(:operand) { ['a', 1] }
48
48
 
49
49
  it { should be_kind_of(Function::Predicate::Inequality) }
50
50
 
51
- its(:left) { should equal(attribute) }
51
+ its(:left) { should be(attribute) }
52
52
 
53
53
  its(:right) { should == 1 }
54
54
  end
55
55
 
56
56
  context 'when the operand contains one entry after filtering duplicate entries' do
57
- let(:operand) { [ 1, 1 ] }
57
+ let(:operand) { [1, 1] }
58
58
 
59
59
  it { should be_kind_of(Function::Predicate::Inequality) }
60
60
 
61
- its(:left) { should equal(attribute) }
61
+ its(:left) { should be(attribute) }
62
62
 
63
63
  its(:right) { should == 1 }
64
64
  end
@@ -10,7 +10,7 @@ describe Optimizer::Function::Predicate::GreaterThan::Contradiction, '#optimizab
10
10
  let(:object) { described_class.new(predicate) }
11
11
 
12
12
  before do
13
- predicate.should be_kind_of(Function::Predicate::GreaterThan)
13
+ expect(predicate).to be_kind_of(Function::Predicate::GreaterThan)
14
14
  end
15
15
 
16
16
  context 'when left and right are equal' do
@@ -28,8 +28,8 @@ describe Optimizer::Function::Predicate::GreaterThan::Contradiction, '#optimizab
28
28
  end
29
29
 
30
30
  context 'when left is always less than right' do
31
- let(:left) { Attribute::Integer.new(:id, :size => 1..9) }
32
- let(:right) { Attribute::Integer.new(:id, :size => 10..20) }
31
+ let(:left) { Attribute::Integer.new(:id, size: 1..9) }
32
+ let(:right) { Attribute::Integer.new(:id, size: 10..20) }
33
33
 
34
34
  it { should be(true) }
35
35
  end
@@ -9,12 +9,12 @@ describe Optimizer::Function::Predicate::GreaterThan::Tautology, '#optimizable?'
9
9
  let(:object) { described_class.new(predicate) }
10
10
 
11
11
  before do
12
- predicate.should be_kind_of(Function::Predicate::GreaterThan)
12
+ expect(predicate).to be_kind_of(Function::Predicate::GreaterThan)
13
13
  end
14
14
 
15
15
  context 'when left is always greater than right' do
16
- let(:left) { Attribute::Integer.new(:id, :size => 10..20) }
17
- let(:right) { Attribute::Integer.new(:id, :size => 1..9) }
16
+ let(:left) { Attribute::Integer.new(:id, size: 10..20) }
17
+ let(:right) { Attribute::Integer.new(:id, size: 1..9) }
18
18
 
19
19
  it { should be(true) }
20
20
  end
@@ -10,7 +10,7 @@ describe Optimizer::Function::Predicate::GreaterThanOrEqualTo::Contradiction, '#
10
10
  let(:object) { described_class.new(predicate) }
11
11
 
12
12
  before do
13
- predicate.should be_kind_of(Function::Predicate::GreaterThanOrEqualTo)
13
+ expect(predicate).to be_kind_of(Function::Predicate::GreaterThanOrEqualTo)
14
14
  end
15
15
 
16
16
  context 'when left and right are equal' do
@@ -28,8 +28,8 @@ describe Optimizer::Function::Predicate::GreaterThanOrEqualTo::Contradiction, '#
28
28
  end
29
29
 
30
30
  context 'when left is always less than right' do
31
- let(:left) { Attribute::Integer.new(:id, :size => 1..9) }
32
- let(:right) { Attribute::Integer.new(:id, :size => 10..20) }
31
+ let(:left) { Attribute::Integer.new(:id, size: 1..9) }
32
+ let(:right) { Attribute::Integer.new(:id, size: 10..20) }
33
33
 
34
34
  it { should be(true) }
35
35
  end
@@ -10,7 +10,7 @@ describe Optimizer::Function::Predicate::GreaterThanOrEqualTo::Tautology, '#opti
10
10
  let(:object) { described_class.new(predicate) }
11
11
 
12
12
  before do
13
- predicate.should be_kind_of(Function::Predicate::GreaterThan)
13
+ expect(predicate).to be_kind_of(Function::Predicate::GreaterThan)
14
14
  end
15
15
 
16
16
  context 'when left and right are equal' do
@@ -28,8 +28,8 @@ describe Optimizer::Function::Predicate::GreaterThanOrEqualTo::Tautology, '#opti
28
28
  end
29
29
 
30
30
  context 'when left is always greater than right' do
31
- let(:left) { Attribute::Integer.new(:id, :size => 10..20) }
32
- let(:right) { Attribute::Integer.new(:id, :size => 1..9) }
31
+ let(:left) { Attribute::Integer.new(:id, size: 10..20) }
32
+ let(:right) { Attribute::Integer.new(:id, size: 1..9) }
33
33
 
34
34
  it { should be(true) }
35
35
  end
@@ -10,36 +10,36 @@ describe Optimizer::Function::Predicate::Inclusion::EmptyRight, '#optimize' do
10
10
  let(:object) { described_class.new(predicate) }
11
11
 
12
12
  before do
13
- object.should be_optimizable
13
+ expect(object).to be_optimizable
14
14
  end
15
15
 
16
16
  context 'when the operand contains a nil' do
17
17
  let(:operand) { nil }
18
18
 
19
- it { should equal(Function::Proposition::Contradiction.instance) }
19
+ it { should be(Function::Proposition::Contradiction.instance) }
20
20
  end
21
21
 
22
22
  context 'when the operand contains an empty Enumerable' do
23
23
  let(:operand) { [] }
24
24
 
25
- it { should equal(Function::Proposition::Contradiction.instance) }
25
+ it { should be(Function::Proposition::Contradiction.instance) }
26
26
  end
27
27
 
28
28
  context 'when the operand contains an empty inclusive Range' do
29
29
  let(:operand) { 1..0 }
30
30
 
31
- it { should equal(Function::Proposition::Contradiction.instance) }
31
+ it { should be(Function::Proposition::Contradiction.instance) }
32
32
  end
33
33
 
34
34
  context 'when the operand contains an empty exclusive Range' do
35
35
  let(:operand) { 1...1 }
36
36
 
37
- it { should equal(Function::Proposition::Contradiction.instance) }
37
+ it { should be(Function::Proposition::Contradiction.instance) }
38
38
  end
39
39
 
40
40
  context 'when the operand is empty after filtering invalid entries' do
41
- let(:operand) { [ 'a' ] }
41
+ let(:operand) { ['a'] }
42
42
 
43
- it { should equal(Function::Proposition::Contradiction.instance) }
43
+ it { should be(Function::Proposition::Contradiction.instance) }
44
44
  end
45
45
  end
@@ -10,15 +10,15 @@ describe Optimizer::Function::Predicate::Inclusion::OneRight, '#optimize' do
10
10
  let(:object) { described_class.new(predicate) }
11
11
 
12
12
  before do
13
- object.should be_optimizable
13
+ expect(object).to be_optimizable
14
14
  end
15
15
 
16
16
  context 'when the operand contains a one entry Enumerable' do
17
- let(:operand) { [ 1 ] }
17
+ let(:operand) { [1] }
18
18
 
19
19
  it { should be_kind_of(Function::Predicate::Equality) }
20
20
 
21
- its(:left) { should equal(attribute) }
21
+ its(:left) { should be(attribute) }
22
22
 
23
23
  its(:right) { should == 1 }
24
24
 
@@ -29,7 +29,7 @@ describe Optimizer::Function::Predicate::Inclusion::OneRight, '#optimize' do
29
29
 
30
30
  it { should be_kind_of(Function::Predicate::Equality) }
31
31
 
32
- its(:left) { should equal(attribute) }
32
+ its(:left) { should be(attribute) }
33
33
 
34
34
  its(:right) { should == 1 }
35
35
  end
@@ -39,27 +39,27 @@ describe Optimizer::Function::Predicate::Inclusion::OneRight, '#optimize' do
39
39
 
40
40
  it { should be_kind_of(Function::Predicate::Equality) }
41
41
 
42
- its(:left) { should equal(attribute) }
42
+ its(:left) { should be(attribute) }
43
43
 
44
44
  its(:right) { should == 1 }
45
45
  end
46
46
 
47
47
  context 'when the operand contains one entry after filtering invalid entries' do
48
- let(:operand) { [ 'a', 1 ] }
48
+ let(:operand) { ['a', 1] }
49
49
 
50
50
  it { should be_kind_of(Function::Predicate::Equality) }
51
51
 
52
- its(:left) { should equal(attribute) }
52
+ its(:left) { should be(attribute) }
53
53
 
54
54
  its(:right) { should == 1 }
55
55
  end
56
56
 
57
57
  context 'when the operand contains one entry after filtering duplicate entries' do
58
- let(:operand) { [ 1, 1 ] }
58
+ let(:operand) { [1, 1] }
59
59
 
60
60
  it { should be_kind_of(Function::Predicate::Equality) }
61
61
 
62
- its(:left) { should equal(attribute) }
62
+ its(:left) { should be(attribute) }
63
63
 
64
64
  its(:right) { should == 1 }
65
65
  end
@@ -10,7 +10,7 @@ describe Optimizer::Function::Predicate::Inequality::Contradiction, '#optimizabl
10
10
  let(:object) { described_class.new(predicate) }
11
11
 
12
12
  before do
13
- predicate.should be_kind_of(Function::Predicate::Inequality)
13
+ expect(predicate).to be_kind_of(Function::Predicate::Inequality)
14
14
  end
15
15
 
16
16
  context 'when left and right are equal' do
@@ -10,7 +10,7 @@ describe Optimizer::Function::Predicate::LessThan::Contradiction, '#optimizable?
10
10
  let(:object) { described_class.new(predicate) }
11
11
 
12
12
  before do
13
- predicate.should be_kind_of(Function::Predicate::LessThan)
13
+ expect(predicate).to be_kind_of(Function::Predicate::LessThan)
14
14
  end
15
15
 
16
16
  context 'when left and right are equal' do
@@ -28,8 +28,8 @@ describe Optimizer::Function::Predicate::LessThan::Contradiction, '#optimizable?
28
28
  end
29
29
 
30
30
  context 'when left is always greater than right' do
31
- let(:left) { Attribute::Integer.new(:id, :size => 10..20) }
32
- let(:right) { Attribute::Integer.new(:id, :size => 1..9) }
31
+ let(:left) { Attribute::Integer.new(:id, size: 10..20) }
32
+ let(:right) { Attribute::Integer.new(:id, size: 1..9) }
33
33
 
34
34
  it { should be(true) }
35
35
  end
@@ -9,12 +9,12 @@ describe Optimizer::Function::Predicate::LessThan::Tautology, '#optimizable?' do
9
9
  let(:object) { described_class.new(predicate) }
10
10
 
11
11
  before do
12
- predicate.should be_kind_of(Function::Predicate::LessThan)
12
+ expect(predicate).to be_kind_of(Function::Predicate::LessThan)
13
13
  end
14
14
 
15
15
  context 'when left is always less than right' do
16
- let(:left) { Attribute::Integer.new(:id, :size => 1..9) }
17
- let(:right) { Attribute::Integer.new(:id, :size => 10..20) }
16
+ let(:left) { Attribute::Integer.new(:id, size: 1..9) }
17
+ let(:right) { Attribute::Integer.new(:id, size: 10..20) }
18
18
 
19
19
  it { should be(true) }
20
20
  end