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,7 +10,7 @@ describe Optimizer::Function::Predicate::LessThanOrEqualTo::Contradiction, '#opt
10
10
  let(:object) { described_class.new(predicate) }
11
11
 
12
12
  before do
13
- predicate.should be_kind_of(Function::Predicate::LessThanOrEqualTo)
13
+ expect(predicate).to be_kind_of(Function::Predicate::LessThanOrEqualTo)
14
14
  end
15
15
 
16
16
  context 'when left and right are equal' do
@@ -28,8 +28,8 @@ describe Optimizer::Function::Predicate::LessThanOrEqualTo::Contradiction, '#opt
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,7 +10,7 @@ describe Optimizer::Function::Predicate::LessThanOrEqualTo::Tautology, '#optimiz
10
10
  let(:object) { described_class.new(predicate) }
11
11
 
12
12
  before do
13
- predicate.should be_kind_of(Function::Predicate::LessThanOrEqualTo)
13
+ expect(predicate).to be_kind_of(Function::Predicate::LessThanOrEqualTo)
14
14
  end
15
15
 
16
16
  context 'when left and right are equal' do
@@ -28,8 +28,8 @@ describe Optimizer::Function::Predicate::LessThanOrEqualTo::Tautology, '#optimiz
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
@@ -14,5 +14,5 @@ describe Optimizer::Function::Predicate::Tautology, '#optimize' do
14
14
  described_class.class_eval { include Optimizer::Function::Predicate::Tautology }
15
15
  end
16
16
 
17
- it { should equal(Function::Proposition::Tautology.instance) }
17
+ it { should be(Function::Proposition::Tautology.instance) }
18
18
  end
@@ -11,7 +11,7 @@ describe Optimizer::Function::Unary::ConstantOperand, '#optimize' do
11
11
 
12
12
  before do
13
13
  described_class.class_eval { include Optimizer::Function::Unary::ConstantOperand }
14
- object.should be_optimizable
14
+ expect(object).to be_optimizable
15
15
  end
16
16
 
17
17
  it { should be(1) }
@@ -12,13 +12,13 @@ describe Optimizer::Function::Unary, '#operand' do
12
12
  context 'when the operand is frozen' do
13
13
  let(:operand) { 'Operand'.freeze }
14
14
 
15
- it { should equal(operand) }
15
+ it { should be(operand) }
16
16
  end
17
17
 
18
18
  context 'when the operand is not frozen' do
19
19
  let(:operand) { 'Operand' }
20
20
 
21
- it { should_not equal(operand) }
21
+ it { should_not be(operand) }
22
22
 
23
23
  it { should be_frozen }
24
24
 
@@ -11,7 +11,7 @@ describe Optimizer::Function::Unary::UnoptimizedOperand, '#optimize' do
11
11
 
12
12
  before do
13
13
  described_class.class_eval { include Optimizer::Function::Unary::UnoptimizedOperand }
14
- object.should be_optimizable
14
+ expect(object).to be_optimizable
15
15
  end
16
16
 
17
17
  it { should eql(Function::Numeric::Absolute.new(1)) }
@@ -8,13 +8,13 @@ describe Optimizer::Function::Util, '.max' do
8
8
  let(:object) { Optimizer::Function::Util }
9
9
 
10
10
  context 'with an Integer attribute' do
11
- let(:operand) { Attribute::Integer.new(:id, :size => 1..10) }
11
+ let(:operand) { Attribute::Integer.new(:id, size: 1..10) }
12
12
 
13
13
  it { should == 10 }
14
14
  end
15
15
 
16
16
  context 'with a String attribute' do
17
- let(:operand) { Attribute::String.new(:id, :min_length => 1, :max_length => 10) }
17
+ let(:operand) { Attribute::String.new(:id, min_length: 1, max_length: 10) }
18
18
 
19
19
  it { should == 10 }
20
20
  end
@@ -8,13 +8,13 @@ describe Optimizer::Function::Util, '.min' do
8
8
  let(:object) { Optimizer::Function::Util }
9
9
 
10
10
  context 'with an Integer attribute' do
11
- let(:operand) { Attribute::Integer.new(:id, :size => 1..10) }
11
+ let(:operand) { Attribute::Integer.new(:id, size: 1..10) }
12
12
 
13
13
  it { should == 1 }
14
14
  end
15
15
 
16
16
  context 'with a String attribute' do
17
- let(:operand) { Attribute::String.new(:id, :min_length => 1, :max_length => 10) }
17
+ let(:operand) { Attribute::String.new(:id, min_length: 1, max_length: 10) }
18
18
 
19
19
  it { should == 1 }
20
20
  end
@@ -6,8 +6,8 @@ describe Optimizer, '#operation' do
6
6
  subject { object.operation }
7
7
 
8
8
  let(:described_class) { Class.new(Optimizer) }
9
- let(:operation) { mock('Operation') }
9
+ let(:operation) { double('Operation') }
10
10
  let(:object) { described_class.new(operation) }
11
11
 
12
- it { should equal(operation) }
12
+ it { should be(operation) }
13
13
  end
@@ -12,20 +12,20 @@ describe Optimizer::Optimizable::ClassMethods, '#optimizer' do
12
12
  end
13
13
 
14
14
  context 'when the optimizer is set' do
15
- let(:optimizer) { mock('Optimizer') }
15
+ let(:optimizer) { double('Optimizer') }
16
16
 
17
17
  before do
18
18
  object.optimizer = optimizer
19
19
  end
20
20
 
21
- it { should equal(optimizer) }
21
+ it { should be(optimizer) }
22
22
  end
23
23
  end
24
24
 
25
25
  describe Optimizer::Optimizable::ClassMethods, '#optimizer=' do
26
26
  subject { object.optimizer = optimizer }
27
27
 
28
- let(:optimizer) { mock('Optimizer') }
28
+ let(:optimizer) { double('Optimizer') }
29
29
  let(:object) { Class.new { include Optimizer::Optimizable, Adamantium } }
30
30
 
31
31
  it 'sets the optimizer' do
@@ -9,30 +9,30 @@ describe Optimizer::Optimizable, '#optimize' do
9
9
  let(:object) { described_class.new }
10
10
 
11
11
  context 'when there is no optimizer for the class' do
12
- it { should equal(object) }
12
+ it { should be(object) }
13
13
 
14
14
  it_should_behave_like 'an optimize method'
15
15
  end
16
16
 
17
17
  context 'when there is an optimizer for the class' do
18
- let(:optimized) { mock('Optimized', :frozen? => true) }
19
- let(:optimizer) { mock('Optimizer', :call => optimized) }
18
+ let(:optimized) { double('Optimized', :frozen? => true) }
19
+ let(:optimizer) { double('Optimizer', call: optimized) }
20
20
 
21
21
  before do
22
22
  described_class.optimizer = optimizer
23
- optimized.stub!(:optimize).and_return(optimized)
23
+ optimized.stub(:optimize).and_return(optimized)
24
24
  end
25
25
 
26
- it { should equal(optimized) }
26
+ it { should be(optimized) }
27
27
 
28
28
  it 'calls the optimizer with the object' do
29
29
  optimizer.should_receive(:call).with(object).and_return(optimized)
30
- should equal(optimized)
30
+ should be(optimized)
31
31
  end
32
32
 
33
33
  it '#optimize the optimized object' do
34
34
  optimized.should_receive(:optimize).with(no_args).and_return(optimized)
35
- should equal(optimized)
35
+ should be(optimized)
36
36
  end
37
37
  end
38
38
  end
@@ -6,11 +6,11 @@ describe Optimizer, '#optimizable?' do
6
6
  subject { object.optimizable? }
7
7
 
8
8
  let(:described_class) { Class.new(Optimizer) }
9
- let(:operation) { mock('Operation') }
9
+ let(:operation) { double('Operation') }
10
10
  let(:object) { described_class.new(operation) }
11
11
 
12
12
  before do
13
- described_class.stub!(:to_s).and_return('Optimizer')
13
+ described_class.stub(:to_s).and_return('Optimizer')
14
14
  end
15
15
 
16
16
  specify { expect { subject }.to raise_error(NotImplementedError, 'Optimizer#optimizable? must be implemented') }
@@ -6,11 +6,11 @@ describe Optimizer, '#optimize' do
6
6
  subject { object.optimize }
7
7
 
8
8
  let(:described_class) { Class.new(Optimizer) }
9
- let(:operation) { mock('Operation') }
9
+ let(:operation) { double('Operation') }
10
10
  let(:object) { described_class.new(operation) }
11
11
 
12
12
  before do
13
- described_class.stub!(:to_s).and_return('Optimizer')
13
+ described_class.stub(:to_s).and_return('Optimizer')
14
14
  end
15
15
 
16
16
  specify { expect { subject }.to raise_error(NotImplementedError, 'Optimizer#optimize must be implemented') }
@@ -5,15 +5,15 @@ require 'spec_helper'
5
5
  describe Optimizer::PredicatePartition, '#left' do
6
6
  subject { object.left }
7
7
 
8
- let(:left_header) { Relation::Header.coerce([ [ :id, Integer ], [ :user_name, String ], Attribute::Boolean.new(:active_user), Attribute::Boolean.new(:active) ]) }
9
- let(:right_header) { Relation::Header.coerce([ [ :id, Integer ], [ :employee_name, String ], Attribute::Boolean.new(:active_employee), Attribute::Boolean.new(:active) ]) }
10
- let(:object) { described_class.new(predicate, left_header, right_header) }
8
+ let(:left_header) { Relation::Header.coerce([[:id, Integer], [:user_name, String], Attribute::Boolean.new(:active_user), Attribute::Boolean.new(:active)]) }
9
+ let(:right_header) { Relation::Header.coerce([[:id, Integer], [:employee_name, String], Attribute::Boolean.new(:active_employee), Attribute::Boolean.new(:active)]) }
10
+ let(:object) { described_class.new(predicate, left_header, right_header) }
11
11
 
12
12
  context 'when the predicate is a tautology' do
13
13
  let(:predicate) { Function::Proposition::Tautology.instance }
14
14
 
15
15
  it 'partitions the predicate to the left' do
16
- should equal(Function::Proposition::Tautology.instance)
16
+ should be(Function::Proposition::Tautology.instance)
17
17
  end
18
18
  end
19
19
 
@@ -21,7 +21,7 @@ describe Optimizer::PredicatePartition, '#left' do
21
21
  let(:predicate) { Function::Proposition::Contradiction.instance }
22
22
 
23
23
  it 'partitions the predicate to the left' do
24
- should equal(Function::Proposition::Contradiction.instance)
24
+ should be(Function::Proposition::Contradiction.instance)
25
25
  end
26
26
  end
27
27
 
@@ -30,7 +30,7 @@ describe Optimizer::PredicatePartition, '#left' do
30
30
  let(:predicate) { left_header[:active_user] }
31
31
 
32
32
  it 'partitions the predicate to the left' do
33
- should equal(predicate)
33
+ should be(predicate)
34
34
  end
35
35
  end
36
36
 
@@ -38,7 +38,7 @@ describe Optimizer::PredicatePartition, '#left' do
38
38
  let(:predicate) { right_header[:active_employee] }
39
39
 
40
40
  it 'does not partition the predicate to the left' do
41
- should equal(Function::Proposition::Tautology.instance)
41
+ should be(Function::Proposition::Tautology.instance)
42
42
  end
43
43
  end
44
44
 
@@ -46,7 +46,7 @@ describe Optimizer::PredicatePartition, '#left' do
46
46
  let(:predicate) { left_header[:active] }
47
47
 
48
48
  it 'partitions the predicate to the left' do
49
- should equal(predicate)
49
+ should be(predicate)
50
50
  end
51
51
  end
52
52
  end
@@ -56,7 +56,7 @@ describe Optimizer::PredicatePartition, '#left' do
56
56
  let(:predicate) { left_header[:user_name].eq('Dan Kubb') }
57
57
 
58
58
  it 'partitions the predicate to the left' do
59
- should equal(predicate)
59
+ should be(predicate)
60
60
  end
61
61
  end
62
62
 
@@ -64,7 +64,7 @@ describe Optimizer::PredicatePartition, '#left' do
64
64
  let(:predicate) { right_header[:employee_name].eq('Dan Kubb') }
65
65
 
66
66
  it 'does not partition the predicate to the left' do
67
- should equal(Function::Proposition::Tautology.instance)
67
+ should be(Function::Proposition::Tautology.instance)
68
68
  end
69
69
  end
70
70
 
@@ -72,7 +72,7 @@ describe Optimizer::PredicatePartition, '#left' do
72
72
  let(:predicate) { left_header[:id].eq(1) }
73
73
 
74
74
  it 'partitions the predicate to the left' do
75
- should equal(predicate)
75
+ should be(predicate)
76
76
  end
77
77
  end
78
78
 
@@ -80,7 +80,7 @@ describe Optimizer::PredicatePartition, '#left' do
80
80
  let(:predicate) { left_header[:active_user].eq(left_header[:active]) }
81
81
 
82
82
  it 'partitions the predicate to the left' do
83
- should equal(predicate)
83
+ should be(predicate)
84
84
  end
85
85
  end
86
86
 
@@ -88,7 +88,7 @@ describe Optimizer::PredicatePartition, '#left' do
88
88
  let(:predicate) { right_header[:active_employee].eq(left_header[:active]) }
89
89
 
90
90
  it 'partitions the predicate to the left' do
91
- should equal(predicate)
91
+ should be(predicate)
92
92
  end
93
93
  end
94
94
 
@@ -96,7 +96,7 @@ describe Optimizer::PredicatePartition, '#left' do
96
96
  let(:predicate) { left_header[:user_name].eq(right_header[:employee_name]) }
97
97
 
98
98
  it 'does not partition the predicate to the left' do
99
- should equal(Function::Proposition::Tautology.instance)
99
+ should be(Function::Proposition::Tautology.instance)
100
100
  end
101
101
  end
102
102
  end
@@ -106,7 +106,7 @@ describe Optimizer::PredicatePartition, '#left' do
106
106
  let(:predicate) { Function::Connective::Negation.new(left_header[:active_user]) }
107
107
 
108
108
  it 'partitions the predicate to the left' do
109
- should equal(predicate)
109
+ should be(predicate)
110
110
  end
111
111
  end
112
112
 
@@ -114,7 +114,7 @@ describe Optimizer::PredicatePartition, '#left' do
114
114
  let(:predicate) { Function::Connective::Negation.new(right_header[:active_employee]) }
115
115
 
116
116
  it 'does not partition the predicate to the left' do
117
- should equal(Function::Proposition::Tautology.instance)
117
+ should be(Function::Proposition::Tautology.instance)
118
118
  end
119
119
  end
120
120
 
@@ -122,7 +122,7 @@ describe Optimizer::PredicatePartition, '#left' do
122
122
  let(:predicate) { Function::Connective::Negation.new(left_header[:active]) }
123
123
 
124
124
  it 'partitions the predicate to the left' do
125
- should equal(predicate)
125
+ should be(predicate)
126
126
  end
127
127
  end
128
128
  end
@@ -133,7 +133,7 @@ describe Optimizer::PredicatePartition, '#left' do
133
133
  let(:predicate) { left_predicate.and(right_predicate) }
134
134
 
135
135
  it 'partitions the predicate to the left that reference the left header' do
136
- should equal(left_predicate)
136
+ should be(left_predicate)
137
137
  end
138
138
  end
139
139
 
@@ -5,15 +5,15 @@ require 'spec_helper'
5
5
  describe Optimizer::PredicatePartition, '#remainder' do
6
6
  subject { object.remainder }
7
7
 
8
- let(:left_header) { Relation::Header.coerce([ [ :id, Integer ], [ :user_name, String ], Attribute::Boolean.new(:active_user), Attribute::Boolean.new(:active) ]) }
9
- let(:right_header) { Relation::Header.coerce([ [ :id, Integer ], [ :employee_name, String ], Attribute::Boolean.new(:active_employee), Attribute::Boolean.new(:active) ]) }
10
- let(:object) { described_class.new(predicate, left_header, right_header) }
8
+ let(:left_header) { Relation::Header.coerce([[:id, Integer], [:user_name, String], Attribute::Boolean.new(:active_user), Attribute::Boolean.new(:active)]) }
9
+ let(:right_header) { Relation::Header.coerce([[:id, Integer], [:employee_name, String], Attribute::Boolean.new(:active_employee), Attribute::Boolean.new(:active)]) }
10
+ let(:object) { described_class.new(predicate, left_header, right_header) }
11
11
 
12
12
  context 'when the predicate is a tautology' do
13
13
  let(:predicate) { Function::Proposition::Tautology.instance }
14
14
 
15
15
  it 'partitions the predicate to the remainder' do
16
- should equal(Function::Proposition::Tautology.instance)
16
+ should be(Function::Proposition::Tautology.instance)
17
17
  end
18
18
  end
19
19
 
@@ -21,7 +21,7 @@ describe Optimizer::PredicatePartition, '#remainder' do
21
21
  let(:predicate) { Function::Proposition::Contradiction.instance }
22
22
 
23
23
  it 'partitions the predicate to the remainder' do
24
- should equal(Function::Proposition::Contradiction.instance)
24
+ should be(Function::Proposition::Contradiction.instance)
25
25
  end
26
26
  end
27
27
 
@@ -30,7 +30,7 @@ describe Optimizer::PredicatePartition, '#remainder' do
30
30
  let(:predicate) { left_header[:active_user] }
31
31
 
32
32
  it 'does not partition the predicate to the remainder' do
33
- should equal(Function::Proposition::Tautology.instance)
33
+ should be(Function::Proposition::Tautology.instance)
34
34
  end
35
35
  end
36
36
 
@@ -38,7 +38,7 @@ describe Optimizer::PredicatePartition, '#remainder' do
38
38
  let(:predicate) { right_header[:active_employee] }
39
39
 
40
40
  it 'does not partition the predicate to the remainder' do
41
- should equal(Function::Proposition::Tautology.instance)
41
+ should be(Function::Proposition::Tautology.instance)
42
42
  end
43
43
  end
44
44
 
@@ -46,7 +46,7 @@ describe Optimizer::PredicatePartition, '#remainder' do
46
46
  let(:predicate) { left_header[:active] }
47
47
 
48
48
  it 'does not partition the predicate to the remainder' do
49
- should equal(Function::Proposition::Tautology.instance)
49
+ should be(Function::Proposition::Tautology.instance)
50
50
  end
51
51
  end
52
52
  end
@@ -56,7 +56,7 @@ describe Optimizer::PredicatePartition, '#remainder' do
56
56
  let(:predicate) { left_header[:user_name].eq('Dan Kubb') }
57
57
 
58
58
  it 'does not partition the predicate to the remainder' do
59
- should equal(Function::Proposition::Tautology.instance)
59
+ should be(Function::Proposition::Tautology.instance)
60
60
  end
61
61
  end
62
62
 
@@ -64,7 +64,7 @@ describe Optimizer::PredicatePartition, '#remainder' do
64
64
  let(:predicate) { right_header[:employee_name].eq('Dan Kubb') }
65
65
 
66
66
  it 'does not partition the predicate to the remainder' do
67
- should equal(Function::Proposition::Tautology.instance)
67
+ should be(Function::Proposition::Tautology.instance)
68
68
  end
69
69
  end
70
70
 
@@ -72,7 +72,7 @@ describe Optimizer::PredicatePartition, '#remainder' do
72
72
  let(:predicate) { left_header[:id].eq(1) }
73
73
 
74
74
  it 'does not partition the predicate to the remainder' do
75
- should equal(Function::Proposition::Tautology.instance)
75
+ should be(Function::Proposition::Tautology.instance)
76
76
  end
77
77
  end
78
78
 
@@ -80,7 +80,7 @@ describe Optimizer::PredicatePartition, '#remainder' do
80
80
  let(:predicate) { left_header[:active_user].eq(left_header[:active]) }
81
81
 
82
82
  it 'does not partition the predicate to the remainder' do
83
- should equal(Function::Proposition::Tautology.instance)
83
+ should be(Function::Proposition::Tautology.instance)
84
84
  end
85
85
  end
86
86
 
@@ -88,7 +88,7 @@ describe Optimizer::PredicatePartition, '#remainder' do
88
88
  let(:predicate) { right_header[:active_employee].eq(left_header[:active]) }
89
89
 
90
90
  it 'does not partition the predicate to the remainder' do
91
- should equal(Function::Proposition::Tautology.instance)
91
+ should be(Function::Proposition::Tautology.instance)
92
92
  end
93
93
  end
94
94
 
@@ -96,7 +96,7 @@ describe Optimizer::PredicatePartition, '#remainder' do
96
96
  let(:predicate) { left_header[:user_name].eq(right_header[:employee_name]) }
97
97
 
98
98
  it 'partitions the predicate to the remainder' do
99
- should equal(predicate)
99
+ should be(predicate)
100
100
  end
101
101
  end
102
102
  end
@@ -106,7 +106,7 @@ describe Optimizer::PredicatePartition, '#remainder' do
106
106
  let(:predicate) { Function::Connective::Negation.new(left_header[:active_user]) }
107
107
 
108
108
  it 'does not partition the predicate to the remainder' do
109
- should equal(Function::Proposition::Tautology.instance)
109
+ should be(Function::Proposition::Tautology.instance)
110
110
  end
111
111
  end
112
112
 
@@ -114,7 +114,7 @@ describe Optimizer::PredicatePartition, '#remainder' do
114
114
  let(:predicate) { Function::Connective::Negation.new(right_header[:active_employee]) }
115
115
 
116
116
  it 'does not partition the predicate to the remainder' do
117
- should equal(Function::Proposition::Tautology.instance)
117
+ should be(Function::Proposition::Tautology.instance)
118
118
  end
119
119
  end
120
120
 
@@ -122,7 +122,7 @@ describe Optimizer::PredicatePartition, '#remainder' do
122
122
  let(:predicate) { Function::Connective::Negation.new(left_header[:active]) }
123
123
 
124
124
  it 'does not partition the predicate to the remainder' do
125
- should equal(Function::Proposition::Tautology.instance)
125
+ should be(Function::Proposition::Tautology.instance)
126
126
  end
127
127
  end
128
128
  end
@@ -133,7 +133,7 @@ describe Optimizer::PredicatePartition, '#remainder' do
133
133
  let(:predicate) { left_predicate.and(right_predicate) }
134
134
 
135
135
  it 'does not partition the predicate to the remainder' do
136
- should equal(Function::Proposition::Tautology.instance)
136
+ should be(Function::Proposition::Tautology.instance)
137
137
  end
138
138
  end
139
139
 
@@ -143,7 +143,7 @@ describe Optimizer::PredicatePartition, '#remainder' do
143
143
  let(:predicate) { left_predicate.or(right_predicate) }
144
144
 
145
145
  it 'does not partition the predicate to the remainder' do
146
- should equal(Function::Proposition::Tautology.instance)
146
+ should be(Function::Proposition::Tautology.instance)
147
147
  end
148
148
  end
149
149
  end