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
@@ -28,7 +28,7 @@ describe Function::Connective::Negation, '#optimize' do
28
28
  context 'operand is a tautology' do
29
29
  let(:operand) { Function::Proposition::Tautology.instance }
30
30
 
31
- it { should equal(Function::Proposition::Contradiction.instance) }
31
+ it { should be(Function::Proposition::Contradiction.instance) }
32
32
 
33
33
  it_should_behave_like 'an optimize method'
34
34
  end
@@ -36,7 +36,7 @@ describe Function::Connective::Negation, '#optimize' do
36
36
  context 'operand is a contradiction' do
37
37
  let(:operand) { Function::Proposition::Contradiction.instance }
38
38
 
39
- it { should equal(Function::Proposition::Tautology.instance) }
39
+ it { should be(Function::Proposition::Tautology.instance) }
40
40
 
41
41
  it_should_behave_like 'an optimize method'
42
42
  end
@@ -23,7 +23,7 @@ describe Function, '#optimize' do
23
23
  end
24
24
 
25
25
  it 'returns self' do
26
- should equal(object)
26
+ should be(object)
27
27
  end
28
28
 
29
29
  it_should_behave_like 'an optimize method'
@@ -12,7 +12,7 @@ describe Function::Predicate::Equality, '#optimize' do
12
12
 
13
13
  context 'left and right are attributes' do
14
14
  context 'and equivalent' do
15
- it { should equal(Function::Proposition::Tautology.instance) }
15
+ it { should be(Function::Proposition::Tautology.instance) }
16
16
 
17
17
  it_should_behave_like 'an optimize method'
18
18
  end
@@ -20,7 +20,7 @@ describe Function::Predicate::Equality, '#optimize' do
20
20
  context 'and are not joinable' do
21
21
  let(:right) { Attribute::String.new(:other) }
22
22
 
23
- it { should equal(Function::Proposition::Contradiction.instance) }
23
+ it { should be(Function::Proposition::Contradiction.instance) }
24
24
 
25
25
  it_should_behave_like 'an optimize method'
26
26
  end
@@ -28,7 +28,7 @@ describe Function::Predicate::Equality, '#optimize' do
28
28
  context 'and are joinable' do
29
29
  let(:right) { Attribute::Integer.new(:other) }
30
30
 
31
- it { should equal(object) }
31
+ it { should be(object) }
32
32
 
33
33
  it_should_behave_like 'an optimize method'
34
34
  end
@@ -38,7 +38,7 @@ describe Function::Predicate::Equality, '#optimize' do
38
38
  context 'right is a valid value' do
39
39
  let(:right) { 1 }
40
40
 
41
- it { should equal(object) }
41
+ it { should be(object) }
42
42
 
43
43
  it_should_behave_like 'an optimize method'
44
44
  end
@@ -46,7 +46,7 @@ describe Function::Predicate::Equality, '#optimize' do
46
46
  context 'right is an invalid value' do
47
47
  let(:right) { 'a' }
48
48
 
49
- it { should equal(Function::Proposition::Contradiction.instance) }
49
+ it { should be(Function::Proposition::Contradiction.instance) }
50
50
 
51
51
  it_should_behave_like 'an optimize method'
52
52
  end
@@ -64,7 +64,7 @@ describe Function::Predicate::Equality, '#optimize' do
64
64
  context 'left is an invalid value' do
65
65
  let(:left) { 'a' }
66
66
 
67
- it { should equal(Function::Proposition::Contradiction.instance) }
67
+ it { should be(Function::Proposition::Contradiction.instance) }
68
68
 
69
69
  it_should_behave_like 'an optimize method'
70
70
  end
@@ -75,7 +75,7 @@ describe Function::Predicate::Equality, '#optimize' do
75
75
  let(:left) { 1 }
76
76
  let(:right) { 1 }
77
77
 
78
- it { should equal(Function::Proposition::Tautology.instance) }
78
+ it { should be(Function::Proposition::Tautology.instance) }
79
79
 
80
80
  it_should_behave_like 'an optimize method'
81
81
  end
@@ -84,7 +84,7 @@ describe Function::Predicate::Equality, '#optimize' do
84
84
  let(:left) { 1 }
85
85
  let(:right) { 2 }
86
86
 
87
- it { should equal(Function::Proposition::Contradiction.instance) }
87
+ it { should be(Function::Proposition::Contradiction.instance) }
88
88
 
89
89
  it_should_behave_like 'an optimize method'
90
90
  end
@@ -5,15 +5,15 @@ require 'spec_helper'
5
5
  describe Function::Predicate::Exclusion, '#optimize' do
6
6
  subject { object.optimize }
7
7
 
8
- let(:left) { Attribute::Integer.new(:id, :size => 1..2**31-1) }
9
- let(:object) { described_class.new(left, right) }
8
+ let(:left) { Attribute::Integer.new(:id, size: 1..2**31 - 1) }
9
+ let(:object) { described_class.new(left, right) }
10
10
 
11
11
  context 'right is a Range' do
12
12
  context 'that is inclusive' do
13
13
  context 'and empty' do
14
14
  let(:right) { 1..0 }
15
15
 
16
- it { should equal(Function::Proposition::Tautology.instance) }
16
+ it { should be(Function::Proposition::Tautology.instance) }
17
17
 
18
18
  it_should_behave_like 'an optimize method'
19
19
  end
@@ -21,7 +21,7 @@ describe Function::Predicate::Exclusion, '#optimize' do
21
21
  context 'and not empty' do
22
22
  let(:right) { 1..10 }
23
23
 
24
- it { should equal(object) }
24
+ it { should be(object) }
25
25
 
26
26
  it_should_behave_like 'an optimize method'
27
27
  end
@@ -31,7 +31,7 @@ describe Function::Predicate::Exclusion, '#optimize' do
31
31
  context 'and empty' do
32
32
  let(:right) { 1...1 }
33
33
 
34
- it { should equal(Function::Proposition::Tautology.instance) }
34
+ it { should be(Function::Proposition::Tautology.instance) }
35
35
 
36
36
  it_should_behave_like 'an optimize method'
37
37
  end
@@ -51,7 +51,7 @@ describe Function::Predicate::Exclusion, '#optimize' do
51
51
  let(:left) { Attribute::String.new(:string) }
52
52
  let(:right) { 'a'..'z' }
53
53
 
54
- it { should equal(Function::Proposition::Tautology.instance) }
54
+ it { should be(Function::Proposition::Tautology.instance) }
55
55
 
56
56
  it_should_behave_like 'an optimize method'
57
57
  end
@@ -59,7 +59,7 @@ describe Function::Predicate::Exclusion, '#optimize' do
59
59
  context 'that is greater than the left range' do
60
60
  let(:right) { 2**31..2**31 }
61
61
 
62
- it { should equal(Function::Proposition::Tautology.instance) }
62
+ it { should be(Function::Proposition::Tautology.instance) }
63
63
 
64
64
  it_should_behave_like 'an optimize method'
65
65
  end
@@ -67,7 +67,7 @@ describe Function::Predicate::Exclusion, '#optimize' do
67
67
  context 'that is less than the left range' do
68
68
  let(:right) { -1..-1 }
69
69
 
70
- it { should equal(Function::Proposition::Tautology.instance) }
70
+ it { should be(Function::Proposition::Tautology.instance) }
71
71
 
72
72
  it_should_behave_like 'an optimize method'
73
73
  end
@@ -77,37 +77,37 @@ describe Function::Predicate::Exclusion, '#optimize' do
77
77
  context 'that is empty' do
78
78
  let(:right) { [] }
79
79
 
80
- it { should equal(Function::Proposition::Tautology.instance) }
80
+ it { should be(Function::Proposition::Tautology.instance) }
81
81
 
82
82
  it_should_behave_like 'an optimize method'
83
83
  end
84
84
 
85
85
  context 'that is empty after filtering invalid entries' do
86
- let(:right) { [ 'a' ] }
86
+ let(:right) { ['a'] }
87
87
 
88
- it { should equal(Function::Proposition::Tautology.instance) }
88
+ it { should be(Function::Proposition::Tautology.instance) }
89
89
 
90
90
  it_should_behave_like 'an optimize method'
91
91
  end
92
92
 
93
93
  context 'that is not empty after filtering invalid entries' do
94
- let(:right) { [ 'a', 1, 2 ] }
94
+ let(:right) { ['a', 1, 2] }
95
95
 
96
- it { should eql(left.exclude([ 1, 2 ])) }
96
+ it { should eql(left.exclude([1, 2])) }
97
97
 
98
98
  it_should_behave_like 'an optimize method'
99
99
  end
100
100
 
101
101
  context 'that has duplicate entries' do
102
- let(:right) { [ 1, 2, 2 ] }
102
+ let(:right) { [1, 2, 2] }
103
103
 
104
- it { should eql(left.exclude([ 1, 2 ])) }
104
+ it { should eql(left.exclude([1, 2])) }
105
105
 
106
106
  it_should_behave_like 'an optimize method'
107
107
  end
108
108
 
109
109
  context 'that has one entry' do
110
- let(:right) { [ 1 ] }
110
+ let(:right) { [1] }
111
111
 
112
112
  it { should eql(left.ne(1)) }
113
113
 
@@ -115,9 +115,9 @@ describe Function::Predicate::Exclusion, '#optimize' do
115
115
  end
116
116
 
117
117
  context 'that has unsorted entries' do
118
- let(:right) { [ 2, 1 ] }
118
+ let(:right) { [2, 1] }
119
119
 
120
- it { should eql(left.exclude([ 1, 2 ])) }
120
+ it { should eql(left.exclude([1, 2])) }
121
121
 
122
122
  it_should_behave_like 'an optimize method'
123
123
  end
@@ -126,7 +126,7 @@ describe Function::Predicate::Exclusion, '#optimize' do
126
126
  context 'right is a nil' do
127
127
  let(:right) { nil }
128
128
 
129
- it { should equal(Function::Proposition::Tautology.instance) }
129
+ it { should be(Function::Proposition::Tautology.instance) }
130
130
 
131
131
  it_should_behave_like 'an optimize method'
132
132
  end
@@ -5,14 +5,14 @@ require 'spec_helper'
5
5
  describe Function::Predicate::GreaterThan, '#optimize' do
6
6
  subject { object.optimize }
7
7
 
8
- let(:attribute) { Attribute::Integer.new(:id, :required => false, :size => 1..2**31-1) }
9
- let(:left) { attribute }
10
- let(:right) { attribute }
11
- let(:object) { described_class.new(left, right) }
8
+ let(:attribute) { Attribute::Integer.new(:id, required: false, size: 1..2**31 - 1) }
9
+ let(:left) { attribute }
10
+ let(:right) { attribute }
11
+ let(:object) { described_class.new(left, right) }
12
12
 
13
13
  context 'left and right are attributes' do
14
14
  context 'and equivalent' do
15
- it { should equal(Function::Proposition::Contradiction.instance) }
15
+ it { should be(Function::Proposition::Contradiction.instance) }
16
16
 
17
17
  it_should_behave_like 'an optimize method'
18
18
  end
@@ -20,25 +20,25 @@ describe Function::Predicate::GreaterThan, '#optimize' do
20
20
  context 'and are not comparable' do
21
21
  let(:right) { Attribute::Float.new(:float) }
22
22
 
23
- it { should equal(Function::Proposition::Contradiction.instance) }
23
+ it { should be(Function::Proposition::Contradiction.instance) }
24
24
 
25
25
  it_should_behave_like 'an optimize method'
26
26
  end
27
27
 
28
28
  context 'and left is always less than or equal to right' do
29
- let(:left) { attribute }
30
- let(:right) { Attribute::Integer.new(:right, :size => 2**31-1..2**31-1) }
29
+ let(:left) { attribute }
30
+ let(:right) { Attribute::Integer.new(:right, size: 2**31 - 1..2**31 - 1) }
31
31
 
32
- it { should equal(Function::Proposition::Contradiction.instance) }
32
+ it { should be(Function::Proposition::Contradiction.instance) }
33
33
 
34
34
  it_should_behave_like 'an optimize method'
35
35
  end
36
36
 
37
37
  context 'and left is always greater than right' do
38
- let(:left) { attribute }
39
- let(:right) { Attribute::Integer.new(:right, :size => -1..-1) }
38
+ let(:left) { attribute }
39
+ let(:right) { Attribute::Integer.new(:right, size: -1..-1) }
40
40
 
41
- it { should equal(Function::Proposition::Tautology.instance) }
41
+ it { should be(Function::Proposition::Tautology.instance) }
42
42
 
43
43
  it_should_behave_like 'an optimize method'
44
44
  end
@@ -48,7 +48,7 @@ describe Function::Predicate::GreaterThan, '#optimize' do
48
48
  context 'right is a valid value' do
49
49
  let(:right) { 1 }
50
50
 
51
- it { should equal(object) }
51
+ it { should be(object) }
52
52
 
53
53
  it_should_behave_like 'an optimize method'
54
54
  end
@@ -56,7 +56,7 @@ describe Function::Predicate::GreaterThan, '#optimize' do
56
56
  context 'right is an invalid primitive' do
57
57
  let(:right) { nil }
58
58
 
59
- it { should equal(Function::Proposition::Contradiction.instance) }
59
+ it { should be(Function::Proposition::Contradiction.instance) }
60
60
 
61
61
  it_should_behave_like 'an optimize method'
62
62
  end
@@ -74,7 +74,7 @@ describe Function::Predicate::GreaterThan, '#optimize' do
74
74
  context 'left is an invalid primitive' do
75
75
  let(:left) { nil }
76
76
 
77
- it { should equal(Function::Proposition::Contradiction.instance) }
77
+ it { should be(Function::Proposition::Contradiction.instance) }
78
78
 
79
79
  it_should_behave_like 'an optimize method'
80
80
  end
@@ -85,7 +85,7 @@ describe Function::Predicate::GreaterThan, '#optimize' do
85
85
  let(:left) { 2 }
86
86
  let(:right) { 1 }
87
87
 
88
- it { should equal(Function::Proposition::Tautology.instance) }
88
+ it { should be(Function::Proposition::Tautology.instance) }
89
89
 
90
90
  it_should_behave_like 'an optimize method'
91
91
  end
@@ -94,7 +94,7 @@ describe Function::Predicate::GreaterThan, '#optimize' do
94
94
  let(:left) { 1 }
95
95
  let(:right) { 2 }
96
96
 
97
- it { should equal(Function::Proposition::Contradiction.instance) }
97
+ it { should be(Function::Proposition::Contradiction.instance) }
98
98
 
99
99
  it_should_behave_like 'an optimize method'
100
100
  end
@@ -5,14 +5,14 @@ require 'spec_helper'
5
5
  describe Function::Predicate::GreaterThanOrEqualTo, '#optimize' do
6
6
  subject { object.optimize }
7
7
 
8
- let(:attribute) { Attribute::Integer.new(:id, :required => false, :size => 1..2**31-1) }
9
- let(:left) { attribute }
10
- let(:right) { attribute }
11
- let(:object) { described_class.new(left, right) }
8
+ let(:attribute) { Attribute::Integer.new(:id, required: false, size: 1..2**31 - 1) }
9
+ let(:left) { attribute }
10
+ let(:right) { attribute }
11
+ let(:object) { described_class.new(left, right) }
12
12
 
13
13
  context 'left and right are attributes' do
14
14
  context 'and equivalent' do
15
- it { should equal(Function::Proposition::Tautology.instance) }
15
+ it { should be(Function::Proposition::Tautology.instance) }
16
16
 
17
17
  it_should_behave_like 'an optimize method'
18
18
  end
@@ -20,25 +20,25 @@ describe Function::Predicate::GreaterThanOrEqualTo, '#optimize' do
20
20
  context 'and are not comparable' do
21
21
  let(:right) { Attribute::Float.new(:float) }
22
22
 
23
- it { should equal(Function::Proposition::Contradiction.instance) }
23
+ it { should be(Function::Proposition::Contradiction.instance) }
24
24
 
25
25
  it_should_behave_like 'an optimize method'
26
26
  end
27
27
 
28
28
  context 'and left is always less than right' do
29
- let(:left) { attribute }
30
- let(:right) { Attribute::Integer.new(:right, :size => 2**31..2**31) }
29
+ let(:left) { attribute }
30
+ let(:right) { Attribute::Integer.new(:right, size: 2**31..2**31) }
31
31
 
32
- it { should equal(Function::Proposition::Contradiction.instance) }
32
+ it { should be(Function::Proposition::Contradiction.instance) }
33
33
 
34
34
  it_should_behave_like 'an optimize method'
35
35
  end
36
36
 
37
37
  context 'and left is always greater than right' do
38
- let(:left) { attribute }
39
- let(:right) { Attribute::Integer.new(:right, :size => -1..-1) }
38
+ let(:left) { attribute }
39
+ let(:right) { Attribute::Integer.new(:right, size: -1..-1) }
40
40
 
41
- it { should equal(Function::Proposition::Tautology.instance) }
41
+ it { should be(Function::Proposition::Tautology.instance) }
42
42
 
43
43
  it_should_behave_like 'an optimize method'
44
44
  end
@@ -48,7 +48,7 @@ describe Function::Predicate::GreaterThanOrEqualTo, '#optimize' do
48
48
  context 'right is a valid value' do
49
49
  let(:right) { 2 }
50
50
 
51
- it { should equal(object) }
51
+ it { should be(object) }
52
52
 
53
53
  it_should_behave_like 'an optimize method'
54
54
  end
@@ -56,7 +56,7 @@ describe Function::Predicate::GreaterThanOrEqualTo, '#optimize' do
56
56
  context 'right is an invalid primitive' do
57
57
  let(:right) { nil }
58
58
 
59
- it { should equal(Function::Proposition::Contradiction.instance) }
59
+ it { should be(Function::Proposition::Contradiction.instance) }
60
60
 
61
61
  it_should_behave_like 'an optimize method'
62
62
  end
@@ -74,7 +74,7 @@ describe Function::Predicate::GreaterThanOrEqualTo, '#optimize' do
74
74
  context 'left is an invalid primitive' do
75
75
  let(:left) { nil }
76
76
 
77
- it { should equal(Function::Proposition::Contradiction.instance) }
77
+ it { should be(Function::Proposition::Contradiction.instance) }
78
78
 
79
79
  it_should_behave_like 'an optimize method'
80
80
  end
@@ -85,7 +85,7 @@ describe Function::Predicate::GreaterThanOrEqualTo, '#optimize' do
85
85
  let(:left) { 1 }
86
86
  let(:right) { 1 }
87
87
 
88
- it { should equal(Function::Proposition::Tautology.instance) }
88
+ it { should be(Function::Proposition::Tautology.instance) }
89
89
 
90
90
  it_should_behave_like 'an optimize method'
91
91
  end
@@ -94,7 +94,7 @@ describe Function::Predicate::GreaterThanOrEqualTo, '#optimize' do
94
94
  let(:left) { 1 }
95
95
  let(:right) { 2 }
96
96
 
97
- it { should equal(Function::Proposition::Contradiction.instance) }
97
+ it { should be(Function::Proposition::Contradiction.instance) }
98
98
 
99
99
  it_should_behave_like 'an optimize method'
100
100
  end
@@ -5,15 +5,15 @@ require 'spec_helper'
5
5
  describe Function::Predicate::Inclusion, '#optimize' do
6
6
  subject { object.optimize }
7
7
 
8
- let(:left) { Attribute::Integer.new(:id, :size => 1..2**31-1) }
9
- let(:object) { described_class.new(left, right) }
8
+ let(:left) { Attribute::Integer.new(:id, size: 1..2**31 - 1) }
9
+ let(:object) { described_class.new(left, right) }
10
10
 
11
11
  context 'right is a Range' do
12
12
  context 'that is inclusive' do
13
13
  context 'and empty' do
14
14
  let(:right) { 1..0 }
15
15
 
16
- it { should equal(Function::Proposition::Contradiction.instance) }
16
+ it { should be(Function::Proposition::Contradiction.instance) }
17
17
 
18
18
  it_should_behave_like 'an optimize method'
19
19
  end
@@ -21,7 +21,7 @@ describe Function::Predicate::Inclusion, '#optimize' do
21
21
  context 'and not empty' do
22
22
  let(:right) { 1..10 }
23
23
 
24
- it { should equal(object) }
24
+ it { should be(object) }
25
25
 
26
26
  it_should_behave_like 'an optimize method'
27
27
  end
@@ -31,7 +31,7 @@ describe Function::Predicate::Inclusion, '#optimize' do
31
31
  context 'and empty' do
32
32
  let(:right) { 1...1 }
33
33
 
34
- it { should equal(Function::Proposition::Contradiction.instance) }
34
+ it { should be(Function::Proposition::Contradiction.instance) }
35
35
 
36
36
  it_should_behave_like 'an optimize method'
37
37
  end
@@ -51,7 +51,7 @@ describe Function::Predicate::Inclusion, '#optimize' do
51
51
  let(:left) { Attribute::String.new(:string) }
52
52
  let(:right) { 'a'..'z' }
53
53
 
54
- it { should equal(Function::Proposition::Contradiction.instance) }
54
+ it { should be(Function::Proposition::Contradiction.instance) }
55
55
 
56
56
  it_should_behave_like 'an optimize method'
57
57
  end
@@ -59,7 +59,7 @@ describe Function::Predicate::Inclusion, '#optimize' do
59
59
  context 'that is greater than the left range' do
60
60
  let(:right) { 2**31..2**31 }
61
61
 
62
- it { should equal(Function::Proposition::Contradiction.instance) }
62
+ it { should be(Function::Proposition::Contradiction.instance) }
63
63
 
64
64
  it_should_behave_like 'an optimize method'
65
65
  end
@@ -67,7 +67,7 @@ describe Function::Predicate::Inclusion, '#optimize' do
67
67
  context 'that is less than the left range' do
68
68
  let(:right) { -1..-1 }
69
69
 
70
- it { should equal(Function::Proposition::Contradiction.instance) }
70
+ it { should be(Function::Proposition::Contradiction.instance) }
71
71
 
72
72
  it_should_behave_like 'an optimize method'
73
73
  end
@@ -77,37 +77,37 @@ describe Function::Predicate::Inclusion, '#optimize' do
77
77
  context 'that is empty' do
78
78
  let(:right) { [] }
79
79
 
80
- it { should equal(Function::Proposition::Contradiction.instance) }
80
+ it { should be(Function::Proposition::Contradiction.instance) }
81
81
 
82
82
  it_should_behave_like 'an optimize method'
83
83
  end
84
84
 
85
85
  context 'that is empty after filtering invalid entries' do
86
- let(:right) { [ 'a' ] }
86
+ let(:right) { ['a'] }
87
87
 
88
- it { should equal(Function::Proposition::Contradiction.instance) }
88
+ it { should be(Function::Proposition::Contradiction.instance) }
89
89
 
90
90
  it_should_behave_like 'an optimize method'
91
91
  end
92
92
 
93
93
  context 'that is not empty after filtering invalid entries' do
94
- let(:right) { [ 'a', 1, 2 ] }
94
+ let(:right) { ['a', 1, 2] }
95
95
 
96
- it { should eql(left.include([ 1, 2 ])) }
96
+ it { should eql(left.include([1, 2])) }
97
97
 
98
98
  it_should_behave_like 'an optimize method'
99
99
  end
100
100
 
101
101
  context 'that has duplicate entries' do
102
- let(:right) { [ 1, 2, 2 ] }
102
+ let(:right) { [1, 2, 2] }
103
103
 
104
- it { should eql(left.include([ 1, 2 ])) }
104
+ it { should eql(left.include([1, 2])) }
105
105
 
106
106
  it_should_behave_like 'an optimize method'
107
107
  end
108
108
 
109
109
  context 'that has one entry' do
110
- let(:right) { [ 1 ] }
110
+ let(:right) { [1] }
111
111
 
112
112
  it { should eql(left.eq(1)) }
113
113
 
@@ -115,9 +115,9 @@ describe Function::Predicate::Inclusion, '#optimize' do
115
115
  end
116
116
 
117
117
  context 'that has unsorted entries' do
118
- let(:right) { [ 2, 1 ] }
118
+ let(:right) { [2, 1] }
119
119
 
120
- it { should eql(left.include([ 1, 2 ])) }
120
+ it { should eql(left.include([1, 2])) }
121
121
 
122
122
  it_should_behave_like 'an optimize method'
123
123
  end
@@ -126,7 +126,7 @@ describe Function::Predicate::Inclusion, '#optimize' do
126
126
  context 'right is a nil' do
127
127
  let(:right) { nil }
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