axiom-optimizer 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -5,24 +5,24 @@ require 'spec_helper'
5
5
  describe Algebra::Union, '#optimize' do
6
6
  subject { object.optimize }
7
7
 
8
- let(:header) { [ [ :id, Integer ] ] }
9
- let(:left_body) { LazyEnumerable.new([ [ 1 ] ]) }
10
- let(:right_body) { LazyEnumerable.new([ [ 2 ] ]) }
8
+ let(:header) { [[:id, Integer]] }
9
+ let(:left_body) { LazyEnumerable.new([[1]]) }
10
+ let(:right_body) { LazyEnumerable.new([[2]]) }
11
11
  let(:original_left) { Relation.new(header, left_body) }
12
12
  let(:original_right) { Relation.new(header, right_body) }
13
13
  let(:object) { described_class.new(left, right) }
14
14
 
15
15
  before do
16
16
  # skip dup of the left and right body to avoid clearing the method stubs
17
- left_body.stub!(:frozen?).and_return(true)
18
- right_body.stub!(:frozen?).and_return(true)
17
+ left_body.stub(:frozen?).and_return(true)
18
+ right_body.stub(:frozen?).and_return(true)
19
19
  end
20
20
 
21
21
  context 'left is an empty relation' do
22
22
  let(:left) { Relation::Empty.new(header) }
23
23
  let(:right) { original_right }
24
24
 
25
- it { should equal(right) }
25
+ it { should be(right) }
26
26
 
27
27
  it 'returns an equivalent relation to the unoptimized operation' do
28
28
  should == object
@@ -45,7 +45,7 @@ describe Algebra::Union, '#optimize' do
45
45
  let(:left) { original_left }
46
46
  let(:right) { Relation::Empty.new(header) }
47
47
 
48
- it { should equal(left) }
48
+ it { should be(left) }
49
49
 
50
50
  it 'returns an equivalent relation to the unoptimized operation' do
51
51
  should == object
@@ -68,7 +68,7 @@ describe Algebra::Union, '#optimize' do
68
68
  let(:left) { Algebra::Restriction.new(original_left, Function::Proposition::Contradiction.instance) }
69
69
  let(:right) { original_right }
70
70
 
71
- it { should equal(right) }
71
+ it { should be(right) }
72
72
 
73
73
  it 'returns an equivalent relation to the unoptimized operation' do
74
74
  should == object
@@ -91,7 +91,7 @@ describe Algebra::Union, '#optimize' do
91
91
  let(:left) { original_left }
92
92
  let(:right) { Algebra::Restriction.new(original_right, Function::Proposition::Contradiction.instance) }
93
93
 
94
- it { should equal(left) }
94
+ it { should be(left) }
95
95
 
96
96
  it 'returns an equivalent relation to the unoptimized operation' do
97
97
  should == object
@@ -111,12 +111,12 @@ describe Algebra::Union, '#optimize' do
111
111
  end
112
112
 
113
113
  context 'left and right are equivalent relations' do
114
- let(:left_body) { LazyEnumerable.new([ [ 1 ] ]) }
115
- let(:right_body) { LazyEnumerable.new([ [ 1 ] ]) }
116
- let(:left) { original_left }
117
- let(:right) { original_right }
114
+ let(:left_body) { LazyEnumerable.new([[1]]) }
115
+ let(:right_body) { LazyEnumerable.new([[1]]) }
116
+ let(:left) { original_left }
117
+ let(:right) { original_right }
118
118
 
119
- it { should equal(left) }
119
+ it { should be(left) }
120
120
 
121
121
  it 'returns an equivalent relation to the unoptimized operation' do
122
122
  should == object
@@ -140,12 +140,12 @@ describe Algebra::Union, '#optimize' do
140
140
  end
141
141
 
142
142
  context 'left and right are equivalent materialized relations' do
143
- let(:left_body) { [ [ 1 ] ] }
144
- let(:right_body) { [ [ 1 ] ] }
143
+ let(:left_body) { [[1]] }
144
+ let(:right_body) { [[1]] }
145
145
  let(:left) { original_left }
146
146
  let(:right) { original_right }
147
147
 
148
- it { should equal(left) }
148
+ it { should be(left) }
149
149
 
150
150
  it 'returns an equivalent relation to the unoptimized operation' do
151
151
  should == object
@@ -170,7 +170,7 @@ describe Algebra::Union, '#optimize' do
170
170
  let(:left) { original_left }
171
171
  let(:right) { original_right }
172
172
 
173
- it { should equal(object) }
173
+ it { should be(object) }
174
174
 
175
175
  it 'executes left_body#each' do
176
176
  left_body.should_receive(:each)
@@ -186,10 +186,10 @@ describe Algebra::Union, '#optimize' do
186
186
  end
187
187
 
188
188
  context 'left and right are materialized relations' do
189
- let(:left) { Relation.new(header, [ [ 1 ], [ 2 ] ]) }
190
- let(:right) { Relation.new(header, [ [ 1 ] ]) }
189
+ let(:left) { Relation.new(header, [[1], [2]]) }
190
+ let(:right) { Relation.new(header, [[1]]) }
191
191
 
192
- it { should eql(Relation::Materialized.new(header, [ [ 1 ], [ 2 ] ])) }
192
+ it { should eql(Relation::Materialized.new(header, [[1], [2]])) }
193
193
 
194
194
  it 'returns an equivalent relation to the unoptimized operation' do
195
195
  should == object
@@ -14,7 +14,7 @@ describe Function::Connective::Conjunction, '#optimize' do
14
14
  let(:left) { attribute.gt(1) }
15
15
  let(:right) { attribute.lt(3) }
16
16
 
17
- it { should equal(object) }
17
+ it { should be(object) }
18
18
 
19
19
  it_should_behave_like 'an optimize method'
20
20
  end
@@ -23,7 +23,7 @@ describe Function::Connective::Conjunction, '#optimize' do
23
23
  let(:left) { Function::Connective::Negation.new(attribute.gt(1)) }
24
24
  let(:right) { Function::Connective::Negation.new(attribute.lt(3)) }
25
25
 
26
- it { should_not equal(object) }
26
+ it { should_not be(object) }
27
27
 
28
28
  it 'reverses the operands' do
29
29
  should eql(described_class.new(attribute.lte(1), attribute.gte(3)))
@@ -45,7 +45,7 @@ describe Function::Connective::Conjunction, '#optimize' do
45
45
  let(:left) { Function::Proposition::Tautology.instance }
46
46
  let(:right) { Function::Proposition::Tautology.instance }
47
47
 
48
- it { should equal(Function::Proposition::Tautology.instance) }
48
+ it { should be(Function::Proposition::Tautology.instance) }
49
49
 
50
50
  it_should_behave_like 'an optimize method'
51
51
  end
@@ -54,7 +54,7 @@ describe Function::Connective::Conjunction, '#optimize' do
54
54
  let(:left) { Function::Proposition::Contradiction.instance }
55
55
  let(:right) { Function::Proposition::Contradiction.instance }
56
56
 
57
- it { should equal(Function::Proposition::Contradiction.instance) }
57
+ it { should be(Function::Proposition::Contradiction.instance) }
58
58
 
59
59
  it_should_behave_like 'an optimize method'
60
60
  end
@@ -63,7 +63,7 @@ describe Function::Connective::Conjunction, '#optimize' do
63
63
  let(:left) { attribute.gt(1) }
64
64
  let(:right) { Function::Proposition::Tautology.instance }
65
65
 
66
- it { should equal(left) }
66
+ it { should be(left) }
67
67
 
68
68
  it_should_behave_like 'an optimize method'
69
69
  end
@@ -72,7 +72,7 @@ describe Function::Connective::Conjunction, '#optimize' do
72
72
  let(:left) { Function::Proposition::Tautology.instance }
73
73
  let(:right) { attribute.lt(3) }
74
74
 
75
- it { should equal(right) }
75
+ it { should be(right) }
76
76
 
77
77
  it_should_behave_like 'an optimize method'
78
78
  end
@@ -81,7 +81,7 @@ describe Function::Connective::Conjunction, '#optimize' do
81
81
  let(:left) { attribute.gt(1) }
82
82
  let(:right) { Function::Proposition::Contradiction.instance }
83
83
 
84
- it { should equal(Function::Proposition::Contradiction.instance) }
84
+ it { should be(Function::Proposition::Contradiction.instance) }
85
85
 
86
86
  it_should_behave_like 'an optimize method'
87
87
  end
@@ -90,7 +90,7 @@ describe Function::Connective::Conjunction, '#optimize' do
90
90
  let(:left) { Function::Proposition::Contradiction.instance }
91
91
  let(:right) { attribute.lt(3) }
92
92
 
93
- it { should equal(Function::Proposition::Contradiction.instance) }
93
+ it { should be(Function::Proposition::Contradiction.instance) }
94
94
 
95
95
  it_should_behave_like 'an optimize method'
96
96
  end
@@ -99,7 +99,7 @@ describe Function::Connective::Conjunction, '#optimize' do
99
99
  let(:left) { attribute.eq(1) }
100
100
  let(:right) { attribute.eq(3) }
101
101
 
102
- it { should equal(Function::Proposition::Contradiction.instance) }
102
+ it { should be(Function::Proposition::Contradiction.instance) }
103
103
 
104
104
  it_should_behave_like 'an optimize method'
105
105
  end
@@ -108,7 +108,7 @@ describe Function::Connective::Conjunction, '#optimize' do
108
108
  let(:left) { attribute.ne(1) }
109
109
  let(:right) { attribute.ne(3) }
110
110
 
111
- it { should eql(attribute.exclude([ 1, 3 ])) }
111
+ it { should eql(attribute.exclude([1, 3])) }
112
112
 
113
113
  it_should_behave_like 'an optimize method'
114
114
  end
@@ -117,7 +117,7 @@ describe Function::Connective::Conjunction, '#optimize' do
117
117
  let(:left) { attribute.eq(1) }
118
118
  let(:right) { attribute.ne(1) }
119
119
 
120
- it { should equal(Function::Proposition::Contradiction.instance) }
120
+ it { should be(Function::Proposition::Contradiction.instance) }
121
121
 
122
122
  it_should_behave_like 'an optimize method'
123
123
  end
@@ -126,25 +126,25 @@ describe Function::Connective::Conjunction, '#optimize' do
126
126
  let(:left) { attribute.ne(1) }
127
127
  let(:right) { attribute.eq(1) }
128
128
 
129
- it { should equal(Function::Proposition::Contradiction.instance) }
129
+ it { should be(Function::Proposition::Contradiction.instance) }
130
130
 
131
131
  it_should_behave_like 'an optimize method'
132
132
  end
133
133
 
134
134
  context 'left is an Inclusion and right is an Exclusion predicate for the same attribute and value' do
135
- let(:left) { attribute.include([ 1, 2 ]) }
136
- let(:right) { attribute.exclude([ 1, 2 ]) }
135
+ let(:left) { attribute.include([1, 2]) }
136
+ let(:right) { attribute.exclude([1, 2]) }
137
137
 
138
- it { should equal(Function::Proposition::Contradiction.instance) }
138
+ it { should be(Function::Proposition::Contradiction.instance) }
139
139
 
140
140
  it_should_behave_like 'an optimize method'
141
141
  end
142
142
 
143
143
  context 'left is an Exclusion and right is an Inclusion predicate for the same attribute and value' do
144
- let(:left) { attribute.exclude([ 1, 2 ]) }
145
- let(:right) { attribute.include([ 1, 2 ]) }
144
+ let(:left) { attribute.exclude([1, 2]) }
145
+ let(:right) { attribute.include([1, 2]) }
146
146
 
147
- it { should equal(Function::Proposition::Contradiction.instance) }
147
+ it { should be(Function::Proposition::Contradiction.instance) }
148
148
 
149
149
  it_should_behave_like 'an optimize method'
150
150
  end
@@ -153,7 +153,7 @@ describe Function::Connective::Conjunction, '#optimize' do
153
153
  let(:left) { attribute.gt(1) }
154
154
  let(:right) { attribute.lte(1) }
155
155
 
156
- it { should equal(Function::Proposition::Contradiction.instance) }
156
+ it { should be(Function::Proposition::Contradiction.instance) }
157
157
 
158
158
  it_should_behave_like 'an optimize method'
159
159
  end
@@ -162,7 +162,7 @@ describe Function::Connective::Conjunction, '#optimize' do
162
162
  let(:left) { attribute.lte(1) }
163
163
  let(:right) { attribute.gt(1) }
164
164
 
165
- it { should equal(Function::Proposition::Contradiction.instance) }
165
+ it { should be(Function::Proposition::Contradiction.instance) }
166
166
 
167
167
  it_should_behave_like 'an optimize method'
168
168
  end
@@ -171,7 +171,7 @@ describe Function::Connective::Conjunction, '#optimize' do
171
171
  let(:left) { attribute.gte(1) }
172
172
  let(:right) { attribute.lt(1) }
173
173
 
174
- it { should equal(Function::Proposition::Contradiction.instance) }
174
+ it { should be(Function::Proposition::Contradiction.instance) }
175
175
 
176
176
  it_should_behave_like 'an optimize method'
177
177
  end
@@ -180,7 +180,7 @@ describe Function::Connective::Conjunction, '#optimize' do
180
180
  let(:left) { attribute.lt(1) }
181
181
  let(:right) { attribute.gte(1) }
182
182
 
183
- it { should equal(Function::Proposition::Contradiction.instance) }
183
+ it { should be(Function::Proposition::Contradiction.instance) }
184
184
 
185
185
  it_should_behave_like 'an optimize method'
186
186
  end
@@ -190,7 +190,7 @@ describe Function::Connective::Conjunction, '#optimize' do
190
190
  let(:left) { attribute.match(/Dan Kubb/) }
191
191
  let(:right) { attribute.no_match(/Dan Kubb/) }
192
192
 
193
- it { should equal(Function::Proposition::Contradiction.instance) }
193
+ it { should be(Function::Proposition::Contradiction.instance) }
194
194
 
195
195
  it_should_behave_like 'an optimize method'
196
196
  end
@@ -200,7 +200,7 @@ describe Function::Connective::Conjunction, '#optimize' do
200
200
  let(:left) { attribute.no_match(/Dan Kubb/) }
201
201
  let(:right) { attribute.match(/Dan Kubb/) }
202
202
 
203
- it { should equal(Function::Proposition::Contradiction.instance) }
203
+ it { should be(Function::Proposition::Contradiction.instance) }
204
204
 
205
205
  it_should_behave_like 'an optimize method'
206
206
  end
@@ -219,7 +219,7 @@ describe Function::Connective::Conjunction, '#optimize' do
219
219
  let(:left) { attribute.eq(other) }
220
220
  let(:right) { attribute.eq(1) }
221
221
 
222
- it { should equal(object) }
222
+ it { should be(object) }
223
223
 
224
224
  it_should_behave_like 'an optimize method'
225
225
  end
@@ -229,7 +229,7 @@ describe Function::Connective::Conjunction, '#optimize' do
229
229
  let(:left) { attribute.eq(1) }
230
230
  let(:right) { attribute.eq(other) }
231
231
 
232
- it { should equal(object) }
232
+ it { should be(object) }
233
233
 
234
234
  it_should_behave_like 'an optimize method'
235
235
  end
@@ -14,7 +14,7 @@ describe Function::Connective::Disjunction, '#optimize' do
14
14
  let(:left) { attribute.gt(1) }
15
15
  let(:right) { attribute.lt(3) }
16
16
 
17
- it { should equal(object) }
17
+ it { should be(object) }
18
18
 
19
19
  it_should_behave_like 'an optimize method'
20
20
  end
@@ -23,7 +23,7 @@ describe Function::Connective::Disjunction, '#optimize' do
23
23
  let(:left) { Function::Connective::Negation.new(attribute.gt(1)) }
24
24
  let(:right) { Function::Connective::Negation.new(attribute.lt(3)) }
25
25
 
26
- it { should_not equal(object) }
26
+ it { should_not be(object) }
27
27
 
28
28
  it 'reverses the operands' do
29
29
  should eql(Function::Connective::Disjunction.new(attribute.lte(1), attribute.gte(3)))
@@ -36,7 +36,7 @@ describe Function::Connective::Disjunction, '#optimize' do
36
36
  let(:left) { attribute.gt(1) }
37
37
  let(:right) { attribute.gt(1) }
38
38
 
39
- it { should equal(left) }
39
+ it { should be(left) }
40
40
 
41
41
  it_should_behave_like 'an optimize method'
42
42
  end
@@ -45,7 +45,7 @@ describe Function::Connective::Disjunction, '#optimize' do
45
45
  let(:left) { Function::Proposition::Tautology.instance }
46
46
  let(:right) { Function::Proposition::Tautology.instance }
47
47
 
48
- it { should equal(left) }
48
+ it { should be(left) }
49
49
 
50
50
  it_should_behave_like 'an optimize method'
51
51
  end
@@ -54,8 +54,7 @@ describe Function::Connective::Disjunction, '#optimize' do
54
54
  let(:left) { Function::Proposition::Contradiction.instance }
55
55
  let(:right) { Function::Proposition::Contradiction.instance }
56
56
 
57
-
58
- it { should equal(left) }
57
+ it { should be(left) }
59
58
 
60
59
  it_should_behave_like 'an optimize method'
61
60
  end
@@ -64,7 +63,7 @@ describe Function::Connective::Disjunction, '#optimize' do
64
63
  let(:left) { attribute.gt(1) }
65
64
  let(:right) { Function::Proposition::Tautology.instance }
66
65
 
67
- it { should equal(right) }
66
+ it { should be(right) }
68
67
 
69
68
  it_should_behave_like 'an optimize method'
70
69
  end
@@ -73,7 +72,7 @@ describe Function::Connective::Disjunction, '#optimize' do
73
72
  let(:left) { Function::Proposition::Tautology.instance }
74
73
  let(:right) { attribute.lt(3) }
75
74
 
76
- it { should equal(left) }
75
+ it { should be(left) }
77
76
 
78
77
  it_should_behave_like 'an optimize method'
79
78
  end
@@ -82,7 +81,7 @@ describe Function::Connective::Disjunction, '#optimize' do
82
81
  let(:left) { attribute.gt(1) }
83
82
  let(:right) { Function::Proposition::Contradiction.instance }
84
83
 
85
- it { should equal(left) }
84
+ it { should be(left) }
86
85
 
87
86
  it_should_behave_like 'an optimize method'
88
87
  end
@@ -91,7 +90,7 @@ describe Function::Connective::Disjunction, '#optimize' do
91
90
  let(:left) { Function::Proposition::Contradiction.instance }
92
91
  let(:right) { attribute.lt(3) }
93
92
 
94
- it { should equal(right) }
93
+ it { should be(right) }
95
94
 
96
95
  it_should_behave_like 'an optimize method'
97
96
  end
@@ -100,7 +99,7 @@ describe Function::Connective::Disjunction, '#optimize' do
100
99
  let(:left) { attribute.eq(1) }
101
100
  let(:right) { attribute.eq(3) }
102
101
 
103
- it { should eql(attribute.include([ 1, 3 ])) }
102
+ it { should eql(attribute.include([1, 3])) }
104
103
 
105
104
  it_should_behave_like 'an optimize method'
106
105
  end
@@ -109,7 +108,7 @@ describe Function::Connective::Disjunction, '#optimize' do
109
108
  let(:left) { attribute.ne(1) }
110
109
  let(:right) { attribute.ne(3) }
111
110
 
112
- it { should equal(Function::Proposition::Tautology.instance) }
111
+ it { should be(Function::Proposition::Tautology.instance) }
113
112
 
114
113
  it_should_behave_like 'an optimize method'
115
114
  end
@@ -118,7 +117,7 @@ describe Function::Connective::Disjunction, '#optimize' do
118
117
  let(:left) { attribute.eq(1) }
119
118
  let(:right) { attribute.ne(1) }
120
119
 
121
- it { should equal(Function::Proposition::Tautology.instance) }
120
+ it { should be(Function::Proposition::Tautology.instance) }
122
121
 
123
122
  it_should_behave_like 'an optimize method'
124
123
  end
@@ -127,25 +126,25 @@ describe Function::Connective::Disjunction, '#optimize' do
127
126
  let(:left) { attribute.ne(1) }
128
127
  let(:right) { attribute.eq(1) }
129
128
 
130
- it { should equal(Function::Proposition::Tautology.instance) }
129
+ it { should be(Function::Proposition::Tautology.instance) }
131
130
 
132
131
  it_should_behave_like 'an optimize method'
133
132
  end
134
133
 
135
134
  context 'left is an Inclusion and right is an Exclusion predicate for the same attribute and value' do
136
- let(:left) { attribute.include([ 1, 2 ]) }
137
- let(:right) { attribute.exclude([ 1, 2 ]) }
135
+ let(:left) { attribute.include([1, 2]) }
136
+ let(:right) { attribute.exclude([1, 2]) }
138
137
 
139
- it { should equal(Function::Proposition::Tautology.instance) }
138
+ it { should be(Function::Proposition::Tautology.instance) }
140
139
 
141
140
  it_should_behave_like 'an optimize method'
142
141
  end
143
142
 
144
143
  context 'left is an Exclusion and right is an Inclusion predicate for the same attribute and value' do
145
- let(:left) { attribute.exclude([ 1, 2 ]) }
146
- let(:right) { attribute.include([ 1, 2 ]) }
144
+ let(:left) { attribute.exclude([1, 2]) }
145
+ let(:right) { attribute.include([1, 2]) }
147
146
 
148
- it { should equal(Function::Proposition::Tautology.instance) }
147
+ it { should be(Function::Proposition::Tautology.instance) }
149
148
 
150
149
  it_should_behave_like 'an optimize method'
151
150
  end
@@ -154,7 +153,7 @@ describe Function::Connective::Disjunction, '#optimize' do
154
153
  let(:left) { attribute.gt(1) }
155
154
  let(:right) { attribute.lte(1) }
156
155
 
157
- it { should equal(Function::Proposition::Tautology.instance) }
156
+ it { should be(Function::Proposition::Tautology.instance) }
158
157
 
159
158
  it_should_behave_like 'an optimize method'
160
159
  end
@@ -163,7 +162,7 @@ describe Function::Connective::Disjunction, '#optimize' do
163
162
  let(:left) { attribute.lte(1) }
164
163
  let(:right) { attribute.gt(1) }
165
164
 
166
- it { should equal(Function::Proposition::Tautology.instance) }
165
+ it { should be(Function::Proposition::Tautology.instance) }
167
166
 
168
167
  it_should_behave_like 'an optimize method'
169
168
  end
@@ -172,7 +171,7 @@ describe Function::Connective::Disjunction, '#optimize' do
172
171
  let(:left) { attribute.gte(1) }
173
172
  let(:right) { attribute.lt(1) }
174
173
 
175
- it { should equal(Function::Proposition::Tautology.instance) }
174
+ it { should be(Function::Proposition::Tautology.instance) }
176
175
 
177
176
  it_should_behave_like 'an optimize method'
178
177
  end
@@ -181,7 +180,7 @@ describe Function::Connective::Disjunction, '#optimize' do
181
180
  let(:left) { attribute.lt(1) }
182
181
  let(:right) { attribute.gte(1) }
183
182
 
184
- it { should equal(Function::Proposition::Tautology.instance) }
183
+ it { should be(Function::Proposition::Tautology.instance) }
185
184
 
186
185
  it_should_behave_like 'an optimize method'
187
186
  end
@@ -191,7 +190,7 @@ describe Function::Connective::Disjunction, '#optimize' do
191
190
  let(:left) { attribute.match(/Dan Kubb/) }
192
191
  let(:right) { attribute.no_match(/Dan Kubb/) }
193
192
 
194
- it { should equal(Function::Proposition::Tautology.instance) }
193
+ it { should be(Function::Proposition::Tautology.instance) }
195
194
 
196
195
  it_should_behave_like 'an optimize method'
197
196
  end
@@ -201,7 +200,7 @@ describe Function::Connective::Disjunction, '#optimize' do
201
200
  let(:left) { attribute.no_match(/Dan Kubb/) }
202
201
  let(:right) { attribute.match(/Dan Kubb/) }
203
202
 
204
- it { should equal(Function::Proposition::Tautology.instance) }
203
+ it { should be(Function::Proposition::Tautology.instance) }
205
204
 
206
205
  it_should_behave_like 'an optimize method'
207
206
  end
@@ -220,7 +219,7 @@ describe Function::Connective::Disjunction, '#optimize' do
220
219
  let(:left) { attribute.eq(other) }
221
220
  let(:right) { attribute.eq(1) }
222
221
 
223
- it { should equal(object) }
222
+ it { should be(object) }
224
223
 
225
224
  it_should_behave_like 'an optimize method'
226
225
  end
@@ -230,7 +229,7 @@ describe Function::Connective::Disjunction, '#optimize' do
230
229
  let(:left) { attribute.eq(1) }
231
230
  let(:right) { attribute.eq(other) }
232
231
 
233
- it { should equal(object) }
232
+ it { should be(object) }
234
233
 
235
234
  it_should_behave_like 'an optimize method'
236
235
  end