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
@@ -11,7 +11,7 @@ describe Optimizer::Function::Binary::ConstantOperands, '#optimize' do
11
11
 
12
12
  before do
13
13
  described_class.class_eval { include Optimizer::Function::Binary::ConstantOperands }
14
- object.should be_optimizable
14
+ expect(object).to be_optimizable
15
15
  end
16
16
 
17
17
  it { should be(4) }
@@ -13,13 +13,13 @@ describe Optimizer::Function::Binary, '#left' do
13
13
  context 'when left operand is frozen' do
14
14
  let(:left) { 'Left'.freeze }
15
15
 
16
- it { should equal(left) }
16
+ it { should be(left) }
17
17
  end
18
18
 
19
19
  context 'when left operand is not frozen' do
20
20
  let(:left) { 'Left' }
21
21
 
22
- it { should_not equal(left) }
22
+ it { should_not be(left) }
23
23
 
24
24
  it { should be_frozen }
25
25
 
@@ -13,13 +13,13 @@ describe Optimizer::Function::Binary, '#right' do
13
13
  context 'when right operand is frozen' do
14
14
  let(:right) { 'Right'.freeze }
15
15
 
16
- it { should equal(right) }
16
+ it { should be(right) }
17
17
  end
18
18
 
19
19
  context 'when right operand is not frozen' do
20
20
  let(:right) { 'Right' }
21
21
 
22
- it { should_not equal(right) }
22
+ it { should_not be(right) }
23
23
 
24
24
  it { should be_frozen }
25
25
 
@@ -15,15 +15,15 @@ describe Optimizer::Function::Binary::UnoptimizedOperands, '#optimizable?' do
15
15
  end
16
16
 
17
17
  context 'when left is optimizable' do
18
- let(:left) { attribute.include([ 1 ]) }
19
- let(:right) { attribute.ne(2) }
18
+ let(:left) { attribute.include([1]) }
19
+ let(:right) { attribute.ne(2) }
20
20
 
21
21
  it { should be(true) }
22
22
  end
23
23
 
24
24
  context 'when right is optimizable' do
25
- let(:left) { attribute.eq(1) }
26
- let(:right) { attribute.exclude([ 2 ]) }
25
+ let(:left) { attribute.eq(1) }
26
+ let(:right) { attribute.exclude([2]) }
27
27
 
28
28
  it { should be(true) }
29
29
  end
@@ -7,14 +7,14 @@ describe Optimizer::Function::Binary::UnoptimizedOperands, '#optimize' do
7
7
 
8
8
  let(:described_class) { Class.new(Optimizer) { include Optimizer::Function::Binary } }
9
9
  let(:attribute) { Attribute::Integer.new(:id) }
10
- let(:left) { attribute.include([ 1 ]) }
11
- let(:right) { attribute.exclude([ 2 ]) }
10
+ let(:left) { attribute.include([1]) }
11
+ let(:right) { attribute.exclude([2]) }
12
12
  let(:function) { Class.new(Function) { include Function::Binary }.new(left, right) }
13
13
  let(:object) { described_class.new(function) }
14
14
 
15
15
  before do
16
16
  described_class.class_eval { include Optimizer::Function::Binary::UnoptimizedOperands }
17
- object.should be_optimizable
17
+ expect(object).to be_optimizable
18
18
  end
19
19
 
20
20
  its(:left) { should eql(attribute.eq(1)) }
@@ -6,12 +6,12 @@ describe Optimizer::Function, '.optimize_functions' do
6
6
  subject { object.optimize_functions(functions) }
7
7
 
8
8
  let(:object) { described_class }
9
- let(:attribute) { mock('Attribute') }
9
+ let(:attribute) { double('Attribute') }
10
10
  let(:functions) { { attribute => function } }
11
11
 
12
12
  context 'when optimizable' do
13
- let(:optimized) { mock('Optimized') }
14
- let(:function) { mock('Optimizable', :optimize => optimized) }
13
+ let(:optimized) { double('Optimized') }
14
+ let(:function) { double('Optimizable', optimize: optimized) }
15
15
 
16
16
  it { should be_frozen }
17
17
 
@@ -19,7 +19,7 @@ describe Optimizer::Function, '.optimize_functions' do
19
19
  end
20
20
 
21
21
  context 'when not optimizable' do
22
- let(:function) { mock('Not Optimizable') }
22
+ let(:function) { double('Not Optimizable') }
23
23
 
24
24
  it { should == functions }
25
25
  end
@@ -8,15 +8,15 @@ describe Optimizer::Function, '.optimize_operand' do
8
8
  let(:object) { described_class }
9
9
 
10
10
  context 'when optimizable' do
11
- let(:optimized) { mock('Optimized') }
12
- let(:function) { mock('Optimizable', :optimize => optimized) }
11
+ let(:optimized) { double('Optimized') }
12
+ let(:function) { double('Optimizable', optimize: optimized) }
13
13
 
14
- it { should equal(optimized) }
14
+ it { should be(optimized) }
15
15
  end
16
16
 
17
17
  context 'when not optimizable' do
18
- let(:function) { mock('Not Optimizable') }
18
+ let(:function) { double('Not Optimizable') }
19
19
 
20
- it { should equal(function) }
20
+ it { should be(function) }
21
21
  end
22
22
  end
@@ -9,8 +9,8 @@ describe Optimizer::Function::Connective::Binary::ConstantOperands, '#optimize'
9
9
  let(:object) { described_class.new(connective) }
10
10
 
11
11
  before do
12
- object.should be_optimizable
12
+ expect(object).to be_optimizable
13
13
  end
14
14
 
15
- it { should equal(Function::Proposition::Tautology.instance) }
15
+ it { should be(Function::Proposition::Tautology.instance) }
16
16
  end
@@ -10,7 +10,7 @@ describe Optimizer::Function::Connective::Binary::EqualOperands, '#optimizable?'
10
10
  let(:object) { described_class.new(connective) }
11
11
 
12
12
  before do
13
- object.operation.should be_kind_of(Function::Connective::Binary)
13
+ expect(object.operation).to be_kind_of(Function::Connective::Binary)
14
14
  end
15
15
 
16
16
  context 'when left and right are equivalent' do
@@ -12,8 +12,8 @@ describe Optimizer::Function::Connective::Binary::EqualOperands, '#optimize' do
12
12
  let(:object) { described_class.new(connective) }
13
13
 
14
14
  before do
15
- object.should be_optimizable
15
+ expect(object).to be_optimizable
16
16
  end
17
17
 
18
- it { should equal(left) }
18
+ it { should be(left) }
19
19
  end
@@ -5,12 +5,12 @@ require 'spec_helper'
5
5
  describe Optimizer::Function::Connective::Binary, '#left' do
6
6
  subject { object.left }
7
7
 
8
- let(:optimized_left) { mock('Optimized Left') }
9
- let(:optimized_right) { mock('Optimized Right') }
10
- let(:left) { mock('Left', :optimize => optimized_left) }
11
- let(:right) { mock('Right', :optimize => optimized_right) }
12
- let(:connective) { mock('Connective', :left => left, :right => right) }
13
- let(:object) { described_class.new(connective) }
8
+ let(:optimized_left) { double('Optimized Left') }
9
+ let(:optimized_right) { double('Optimized Right') }
10
+ let(:left) { double('Left', optimize: optimized_left) }
11
+ let(:right) { double('Right', optimize: optimized_right) }
12
+ let(:connective) { double('Connective', left: left, right: right) }
13
+ let(:object) { described_class.new(connective) }
14
14
 
15
- it { should equal(optimized_left) }
15
+ it { should be(optimized_left) }
16
16
  end
@@ -6,12 +6,12 @@ describe Optimizer::Function::Connective::Binary::RedundantLeft, '#optimizable?'
6
6
  subject { object.optimizable? }
7
7
 
8
8
  let(:attribute) { Attribute::Integer.new(:id) }
9
- let(:left) { attribute.include([ 1 ]) }
10
- let(:right) { attribute.exclude([ 2 ]) }
9
+ let(:left) { attribute.include([1]) }
10
+ let(:right) { attribute.exclude([2]) }
11
11
  let(:object) { described_class.new(connective) }
12
12
 
13
13
  before do
14
- object.operation.should be_kind_of(Function::Connective::Binary)
14
+ expect(object.operation).to be_kind_of(Function::Connective::Binary)
15
15
  end
16
16
 
17
17
  context 'when the left operand is redundant' do
@@ -6,13 +6,13 @@ describe Optimizer::Function::Connective::Binary::RedundantLeft, '#optimize' do
6
6
  subject { object.optimize }
7
7
 
8
8
  let(:attribute) { Attribute::Integer.new(:id) }
9
- let(:left) { attribute.include([ 1 ]) }
10
- let(:right) { attribute.exclude([ 2 ]) }
9
+ let(:left) { attribute.include([1]) }
10
+ let(:right) { attribute.exclude([2]) }
11
11
  let(:connective) { left.and(right).and(right) }
12
12
  let(:object) { described_class.new(connective) }
13
13
 
14
14
  before do
15
- object.should be_optimizable
15
+ expect(object).to be_optimizable
16
16
  end
17
17
 
18
18
  it { should be_kind_of(Function::Connective::Conjunction) }
@@ -6,12 +6,12 @@ describe Optimizer::Function::Connective::Binary::RedundantRight, '#optimizable?
6
6
  subject { object.optimizable? }
7
7
 
8
8
  let(:attribute) { Attribute::Integer.new(:id) }
9
- let(:left) { attribute.include([ 1 ]) }
10
- let(:right) { attribute.exclude([ 2 ]) }
9
+ let(:left) { attribute.include([1]) }
10
+ let(:right) { attribute.exclude([2]) }
11
11
  let(:object) { described_class.new(connective) }
12
12
 
13
13
  before do
14
- object.operation.should be_kind_of(Function::Connective::Binary)
14
+ expect(object.operation).to be_kind_of(Function::Connective::Binary)
15
15
  end
16
16
 
17
17
  context 'when the right operand is redundant' do
@@ -6,13 +6,13 @@ describe Optimizer::Function::Connective::Binary::RedundantRight, '#optimize' do
6
6
  subject { object.optimize }
7
7
 
8
8
  let(:attribute) { Attribute::Integer.new(:id) }
9
- let(:left) { attribute.include([ 1 ]) }
10
- let(:right) { attribute.exclude([ 2 ]) }
9
+ let(:left) { attribute.include([1]) }
10
+ let(:right) { attribute.exclude([2]) }
11
11
  let(:connective) { left.and(left.and(right)) }
12
12
  let(:object) { described_class.new(connective) }
13
13
 
14
14
  before do
15
- object.should be_optimizable
15
+ expect(object).to be_optimizable
16
16
  end
17
17
 
18
18
  it { should be_kind_of(Function::Connective::Conjunction) }
@@ -5,12 +5,12 @@ require 'spec_helper'
5
5
  describe Optimizer::Function::Connective::Binary, '#right' do
6
6
  subject { object.right }
7
7
 
8
- let(:optimized_left) { mock('Optimized Left') }
9
- let(:optimized_right) { mock('Optimized Right') }
10
- let(:left) { mock('Left', :optimize => optimized_left) }
11
- let(:right) { mock('Right', :optimize => optimized_right) }
12
- let(:connective) { mock('Connective', :left => left, :right => right) }
13
- let(:object) { described_class.new(connective) }
8
+ let(:optimized_left) { double('Optimized Left') }
9
+ let(:optimized_right) { double('Optimized Right') }
10
+ let(:left) { double('Left', optimize: optimized_left) }
11
+ let(:right) { double('Right', optimize: optimized_right) }
12
+ let(:connective) { double('Connective', left: left, right: right) }
13
+ let(:object) { described_class.new(connective) }
14
14
 
15
- it { should equal(optimized_right) }
15
+ it { should be(optimized_right) }
16
16
  end
@@ -10,7 +10,7 @@ describe Optimizer::Function::Connective::Conjunction::Contradiction, '#optimiza
10
10
  let(:object) { described_class.new(connective) }
11
11
 
12
12
  before do
13
- object.operation.should be_kind_of(Function::Connective::Conjunction)
13
+ expect(object.operation).to be_kind_of(Function::Connective::Conjunction)
14
14
  end
15
15
 
16
16
  context 'when left is a contradiction' do
@@ -12,8 +12,8 @@ describe Optimizer::Function::Connective::Conjunction::Contradiction, '#optimize
12
12
  let(:object) { described_class.new(connective) }
13
13
 
14
14
  before do
15
- object.should be_optimizable
15
+ expect(object).to be_optimizable
16
16
  end
17
17
 
18
- it { should equal(Function::Proposition::Contradiction.instance) }
18
+ it { should be(Function::Proposition::Contradiction.instance) }
19
19
  end
@@ -10,7 +10,7 @@ describe Optimizer::Function::Connective::Conjunction::OptimizableToExclusion, '
10
10
  let(:object) { described_class.new(connective) }
11
11
 
12
12
  before do
13
- object.operation.should be_kind_of(Function::Connective::Conjunction)
13
+ expect(object.operation).to be_kind_of(Function::Connective::Conjunction)
14
14
  end
15
15
 
16
16
  context 'when the operands are optimizable' do
@@ -22,22 +22,22 @@ describe Optimizer::Function::Connective::Conjunction::OptimizableToExclusion, '
22
22
  end
23
23
 
24
24
  context 'when the left is an equality predicate and the right is an inclusion predicate' do
25
- let(:left) { attribute.ne(2) }
26
- let(:right) { attribute.exclude([ 1, 3 ]) }
25
+ let(:left) { attribute.ne(2) }
26
+ let(:right) { attribute.exclude([1, 3]) }
27
27
 
28
28
  it { should be(true) }
29
29
  end
30
30
 
31
31
  context 'when the left is an inclusion predicate and the right is an equality predicate' do
32
- let(:left) { attribute.exclude([ 2, 3 ]) }
33
- let(:right) { attribute.ne(1) }
32
+ let(:left) { attribute.exclude([2, 3]) }
33
+ let(:right) { attribute.ne(1) }
34
34
 
35
35
  it { should be(true) }
36
36
  end
37
37
 
38
38
  context 'when the left and right are inclusion predicatess' do
39
- let(:left) { attribute.exclude([ 2, 3 ]) }
40
- let(:right) { attribute.exclude([ 1, 3 ]) }
39
+ let(:left) { attribute.exclude([2, 3]) }
40
+ let(:right) { attribute.exclude([1, 3]) }
41
41
 
42
42
  it { should be(true) }
43
43
  end
@@ -52,8 +52,8 @@ describe Optimizer::Function::Connective::Conjunction::OptimizableToExclusion, '
52
52
  end
53
53
 
54
54
  context 'when the left is an exclusion predicate and the right is an equality predicate' do
55
- let(:left) { attribute.exclude([ 1, 3 ]) }
56
- let(:right) { attribute.eq(2) }
55
+ let(:left) { attribute.exclude([1, 3]) }
56
+ let(:right) { attribute.eq(2) }
57
57
 
58
58
  it { should be(false) }
59
59
  end
@@ -10,7 +10,7 @@ describe Optimizer::Function::Connective::Conjunction::OptimizableToExclusion, '
10
10
  let(:object) { described_class.new(connective) }
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 right operands are optimizable' do
@@ -20,46 +20,46 @@ describe Optimizer::Function::Connective::Conjunction::OptimizableToExclusion, '
20
20
 
21
21
  it { should be_kind_of(Function::Predicate::Exclusion) }
22
22
 
23
- its(:left) { should equal(attribute) }
23
+ its(:left) { should be(attribute) }
24
24
 
25
25
  # enumerable order is normalized
26
- its(:right) { should == [ 1, 2 ] }
26
+ its(:right) { should == [1, 2] }
27
27
  end
28
28
 
29
29
  context 'when the left is an equality predicate and the right is an inclusion predicate' do
30
- let(:left) { attribute.ne(2) }
31
- let(:right) { attribute.exclude([ 1 ]) }
30
+ let(:left) { attribute.ne(2) }
31
+ let(:right) { attribute.exclude([1]) }
32
32
 
33
33
  it { should be_kind_of(Function::Predicate::Exclusion) }
34
34
 
35
- its(:left) { should equal(attribute) }
35
+ its(:left) { should be(attribute) }
36
36
 
37
37
  # enumerable order is normalized
38
- its(:right) { should == [ 1, 2 ] }
38
+ its(:right) { should == [1, 2] }
39
39
  end
40
40
 
41
41
  context 'when the left is an inclusion predicate and the right is an equality predicate' do
42
- let(:left) { attribute.exclude([ 2 ]) }
43
- let(:right) { attribute.ne(1) }
42
+ let(:left) { attribute.exclude([2]) }
43
+ let(:right) { attribute.ne(1) }
44
44
 
45
45
  it { should be_kind_of(Function::Predicate::Exclusion) }
46
46
 
47
- its(:left) { should equal(attribute) }
47
+ its(:left) { should be(attribute) }
48
48
 
49
49
  # enumerable order is normalized
50
- its(:right) { should == [ 1, 2 ] }
50
+ its(:right) { should == [1, 2] }
51
51
  end
52
52
 
53
53
  context 'when the left and right are inclusion predicatess' do
54
- let(:left) { attribute.exclude([ 2 ]) }
55
- let(:right) { attribute.exclude([ 1 ]) }
54
+ let(:left) { attribute.exclude([2]) }
55
+ let(:right) { attribute.exclude([1]) }
56
56
 
57
57
  it { should be_kind_of(Function::Predicate::Exclusion) }
58
58
 
59
- its(:left) { should equal(attribute) }
59
+ its(:left) { should be(attribute) }
60
60
 
61
61
  # enumerable order is normalized
62
- its(:right) { should == [ 1, 2 ] }
62
+ its(:right) { should == [1, 2] }
63
63
  end
64
64
  end
65
65
 
@@ -69,8 +69,8 @@ describe Optimizer::Function::Connective::Conjunction::OptimizableToExclusion, '
69
69
 
70
70
  it { should be_kind_of(Function::Predicate::Exclusion) }
71
71
 
72
- its(:left) { should equal(attribute) }
72
+ its(:left) { should be(attribute) }
73
73
 
74
- its(:right) { should == [ 1, 2 ] }
74
+ its(:right) { should == [1, 2] }
75
75
  end
76
76
  end
@@ -10,7 +10,7 @@ describe Optimizer::Function::Connective::Conjunction::TautologyLeft, '#optimiza
10
10
  let(:object) { described_class.new(connective) }
11
11
 
12
12
  before do
13
- object.operation.should be_kind_of(Function::Connective::Conjunction)
13
+ expect(object.operation).to be_kind_of(Function::Connective::Conjunction)
14
14
  end
15
15
 
16
16
  context 'when right is a tautology' do
@@ -12,8 +12,8 @@ describe Optimizer::Function::Connective::Conjunction::TautologyLeft, '#optimize
12
12
  let(:object) { described_class.new(connective) }
13
13
 
14
14
  before do
15
- object.should be_optimizable
15
+ expect(object).to be_optimizable
16
16
  end
17
17
 
18
- it { should equal(right) }
18
+ it { should be(right) }
19
19
  end