super_diff 0.3.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (189) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +104 -73
  3. data/lib/super_diff.rb +20 -11
  4. data/lib/super_diff/active_record.rb +21 -23
  5. data/lib/super_diff/active_record/diff_formatters/active_record_relation.rb +3 -3
  6. data/lib/super_diff/active_record/differs/active_record_relation.rb +3 -5
  7. data/lib/super_diff/active_record/monkey_patches.rb +9 -0
  8. data/lib/super_diff/active_record/object_inspection/inspectors/active_record_model.rb +32 -22
  9. data/lib/super_diff/active_record/object_inspection/inspectors/active_record_relation.rb +17 -7
  10. data/lib/super_diff/active_record/operation_tree_builders.rb +14 -0
  11. data/lib/super_diff/active_record/{operational_sequencers → operation_tree_builders}/active_record_model.rb +2 -2
  12. data/lib/super_diff/active_record/{operational_sequencers → operation_tree_builders}/active_record_relation.rb +4 -4
  13. data/lib/super_diff/active_record/{operation_sequences.rb → operation_trees.rb} +2 -2
  14. data/lib/super_diff/active_record/{operation_sequences → operation_trees}/active_record_relation.rb +2 -2
  15. data/lib/super_diff/active_support.rb +16 -19
  16. data/lib/super_diff/active_support/diff_formatters/hash_with_indifferent_access.rb +3 -3
  17. data/lib/super_diff/active_support/differs/hash_with_indifferent_access.rb +3 -5
  18. data/lib/super_diff/active_support/object_inspection/inspectors/hash_with_indifferent_access.rb +17 -7
  19. data/lib/super_diff/active_support/operation_tree_builders.rb +10 -0
  20. data/lib/super_diff/active_support/{operational_sequencers → operation_tree_builders}/hash_with_indifferent_access.rb +2 -2
  21. data/lib/super_diff/active_support/{operation_sequences.rb → operation_trees.rb} +2 -2
  22. data/lib/super_diff/active_support/{operation_sequences → operation_trees}/hash_with_indifferent_access.rb +2 -2
  23. data/lib/super_diff/configuration.rb +60 -0
  24. data/lib/super_diff/csi.rb +4 -0
  25. data/lib/super_diff/diff_formatters.rb +3 -3
  26. data/lib/super_diff/diff_formatters/array.rb +3 -3
  27. data/lib/super_diff/diff_formatters/base.rb +3 -2
  28. data/lib/super_diff/diff_formatters/collection.rb +2 -2
  29. data/lib/super_diff/diff_formatters/custom_object.rb +3 -3
  30. data/lib/super_diff/diff_formatters/default_object.rb +6 -8
  31. data/lib/super_diff/diff_formatters/defaults.rb +10 -0
  32. data/lib/super_diff/diff_formatters/hash.rb +3 -3
  33. data/lib/super_diff/diff_formatters/main.rb +41 -0
  34. data/lib/super_diff/diff_formatters/multiline_string.rb +3 -3
  35. data/lib/super_diff/differs.rb +4 -11
  36. data/lib/super_diff/differs/array.rb +2 -11
  37. data/lib/super_diff/differs/base.rb +20 -3
  38. data/lib/super_diff/differs/custom_object.rb +2 -11
  39. data/lib/super_diff/differs/default_object.rb +2 -8
  40. data/lib/super_diff/differs/defaults.rb +12 -0
  41. data/lib/super_diff/differs/hash.rb +2 -11
  42. data/lib/super_diff/differs/main.rb +48 -0
  43. data/lib/super_diff/differs/multiline_string.rb +2 -14
  44. data/lib/super_diff/differs/time_like.rb +15 -0
  45. data/lib/super_diff/equality_matchers.rb +3 -9
  46. data/lib/super_diff/equality_matchers/array.rb +1 -7
  47. data/lib/super_diff/equality_matchers/base.rb +1 -1
  48. data/lib/super_diff/equality_matchers/default.rb +2 -8
  49. data/lib/super_diff/equality_matchers/defaults.rb +12 -0
  50. data/lib/super_diff/equality_matchers/hash.rb +1 -7
  51. data/lib/super_diff/equality_matchers/main.rb +21 -0
  52. data/lib/super_diff/equality_matchers/multiline_string.rb +1 -7
  53. data/lib/super_diff/errors.rb +16 -0
  54. data/lib/super_diff/errors/no_diff_formatter_available_error.rb +21 -0
  55. data/lib/super_diff/errors/no_differ_available_error.rb +24 -0
  56. data/lib/super_diff/errors/no_operational_sequencer_available_error.rb +22 -0
  57. data/lib/super_diff/implementation_checks.rb +19 -0
  58. data/lib/super_diff/object_inspection.rb +1 -10
  59. data/lib/super_diff/object_inspection/inspection_tree.rb +6 -2
  60. data/lib/super_diff/object_inspection/inspectors.rb +5 -1
  61. data/lib/super_diff/object_inspection/inspectors/array.rb +20 -10
  62. data/lib/super_diff/object_inspection/inspectors/base.rb +36 -0
  63. data/lib/super_diff/object_inspection/inspectors/custom_object.rb +24 -14
  64. data/lib/super_diff/object_inspection/inspectors/default_object.rb +44 -30
  65. data/lib/super_diff/object_inspection/inspectors/defaults.rb +15 -0
  66. data/lib/super_diff/object_inspection/inspectors/hash.rb +20 -10
  67. data/lib/super_diff/object_inspection/inspectors/main.rb +35 -0
  68. data/lib/super_diff/object_inspection/inspectors/primitive.rb +20 -5
  69. data/lib/super_diff/object_inspection/inspectors/string.rb +15 -5
  70. data/lib/super_diff/object_inspection/inspectors/time_like.rb +23 -0
  71. data/lib/super_diff/object_inspection/nodes/inspection.rb +9 -2
  72. data/lib/super_diff/operation_tree_builders.rb +18 -0
  73. data/lib/super_diff/{operational_sequencers → operation_tree_builders}/array.rb +38 -59
  74. data/lib/super_diff/operation_tree_builders/base.rb +98 -0
  75. data/lib/super_diff/{operational_sequencers → operation_tree_builders}/custom_object.rb +3 -3
  76. data/lib/super_diff/{operational_sequencers → operation_tree_builders}/default_object.rb +8 -3
  77. data/lib/super_diff/operation_tree_builders/defaults.rb +5 -0
  78. data/lib/super_diff/operation_tree_builders/hash.rb +226 -0
  79. data/lib/super_diff/operation_tree_builders/main.rb +42 -0
  80. data/lib/super_diff/{operational_sequencers → operation_tree_builders}/multiline_string.rb +3 -3
  81. data/lib/super_diff/operation_tree_builders/time_like.rb +34 -0
  82. data/lib/super_diff/operation_trees.rb +13 -0
  83. data/lib/super_diff/{operation_sequences → operation_trees}/array.rb +5 -1
  84. data/lib/super_diff/operation_trees/base.rb +31 -0
  85. data/lib/super_diff/{operation_sequences → operation_trees}/custom_object.rb +5 -1
  86. data/lib/super_diff/{operation_sequences → operation_trees}/default_object.rb +10 -8
  87. data/lib/super_diff/operation_trees/defaults.rb +5 -0
  88. data/lib/super_diff/{operation_sequences → operation_trees}/hash.rb +5 -1
  89. data/lib/super_diff/operation_trees/main.rb +35 -0
  90. data/lib/super_diff/operation_trees/multiline_string.rb +18 -0
  91. data/lib/super_diff/operations/unary_operation.rb +3 -0
  92. data/lib/super_diff/rspec.rb +54 -22
  93. data/lib/super_diff/rspec/augmented_matcher.rb +1 -1
  94. data/lib/super_diff/rspec/differ.rb +2 -17
  95. data/lib/super_diff/rspec/differs.rb +9 -3
  96. data/lib/super_diff/rspec/differs/collection_containing_exactly.rb +3 -8
  97. data/lib/super_diff/rspec/differs/collection_including.rb +18 -0
  98. data/lib/super_diff/rspec/differs/hash_including.rb +18 -0
  99. data/lib/super_diff/rspec/differs/object_having_attributes.rb +17 -0
  100. data/lib/super_diff/rspec/matcher_text_builders.rb +4 -0
  101. data/lib/super_diff/rspec/matcher_text_builders/be_predicate.rb +26 -7
  102. data/lib/super_diff/rspec/matcher_text_builders/have_predicate.rb +61 -0
  103. data/lib/super_diff/rspec/matcher_text_builders/match.rb +1 -1
  104. data/lib/super_diff/rspec/matcher_text_builders/raise_error.rb +13 -1
  105. data/lib/super_diff/rspec/matcher_text_builders/respond_to.rb +1 -1
  106. data/lib/super_diff/rspec/matcher_text_template.rb +1 -1
  107. data/lib/super_diff/rspec/monkey_patches.rb +226 -115
  108. data/lib/super_diff/rspec/object_inspection.rb +0 -1
  109. data/lib/super_diff/rspec/object_inspection/inspectors.rb +22 -6
  110. data/lib/super_diff/rspec/object_inspection/inspectors/collection_containing_exactly.rb +17 -8
  111. data/lib/super_diff/rspec/object_inspection/inspectors/collection_including.rb +28 -0
  112. data/lib/super_diff/rspec/object_inspection/inspectors/hash_including.rb +31 -0
  113. data/lib/super_diff/rspec/object_inspection/inspectors/instance_of.rb +23 -0
  114. data/lib/super_diff/rspec/object_inspection/inspectors/kind_of.rb +23 -0
  115. data/lib/super_diff/rspec/object_inspection/inspectors/object_having_attributes.rb +31 -0
  116. data/lib/super_diff/rspec/object_inspection/inspectors/primitive.rb +13 -0
  117. data/lib/super_diff/rspec/object_inspection/inspectors/value_within.rb +29 -0
  118. data/lib/super_diff/rspec/operation_tree_builders.rb +22 -0
  119. data/lib/super_diff/rspec/{operational_sequencers → operation_tree_builders}/collection_containing_exactly.rb +6 -6
  120. data/lib/super_diff/rspec/{operational_sequencers/partial_array.rb → operation_tree_builders/collection_including.rb} +4 -3
  121. data/lib/super_diff/rspec/operation_tree_builders/hash_including.rb +25 -0
  122. data/lib/super_diff/rspec/{operational_sequencers/partial_object.rb → operation_tree_builders/object_having_attributes.rb} +5 -11
  123. data/lib/super_diff/version.rb +1 -1
  124. data/spec/examples.txt +5 -350
  125. data/spec/integration/rails/active_record_spec.rb +1 -1
  126. data/spec/integration/rails/hash_with_indifferent_access_spec.rb +1 -1
  127. data/spec/integration/rspec/be_predicate_matcher_spec.rb +111 -59
  128. data/spec/integration/rspec/eq_matcher_spec.rb +1 -1
  129. data/spec/integration/rspec/have_attributes_matcher_spec.rb +354 -227
  130. data/spec/integration/rspec/have_predicate_matcher_spec.rb +484 -0
  131. data/spec/integration/rspec/include_matcher_spec.rb +2 -2
  132. data/spec/integration/rspec/match_array_matcher_spec.rb +372 -0
  133. data/spec/integration/rspec/match_matcher_spec.rb +8 -8
  134. data/spec/integration/rspec/raise_error_matcher_spec.rb +605 -226
  135. data/spec/integration/rspec/third_party_matcher_spec.rb +241 -0
  136. data/spec/integration/rspec/unhandled_errors_spec.rb +110 -58
  137. data/spec/spec_helper.rb +18 -7
  138. data/spec/support/command_runner.rb +3 -0
  139. data/spec/support/integration/helpers.rb +14 -90
  140. data/spec/support/integration/matchers.rb +143 -0
  141. data/spec/support/integration/matchers/produce_output_when_run_matcher.rb +14 -29
  142. data/spec/support/integration/test_programs/base.rb +120 -0
  143. data/spec/support/integration/test_programs/plain.rb +13 -0
  144. data/spec/support/integration/test_programs/rspec_active_record.rb +17 -0
  145. data/spec/support/integration/test_programs/rspec_rails.rb +17 -0
  146. data/spec/support/models/active_record/person.rb +4 -11
  147. data/spec/support/models/active_record/query.rb +15 -0
  148. data/spec/support/models/active_record/shipping_address.rb +10 -14
  149. data/spec/support/object_id.rb +27 -0
  150. data/spec/support/ruby_versions.rb +4 -0
  151. data/spec/support/shared_examples/active_record.rb +71 -0
  152. data/spec/support/shared_examples/hash_with_indifferent_access.rb +724 -208
  153. data/spec/unit/{equality_matcher_spec.rb → equality_matchers/main_spec.rb} +165 -9
  154. data/spec/unit/object_inspection_spec.rb +94 -18
  155. data/spec/unit/rspec/matchers/have_predicate_spec.rb +21 -0
  156. data/spec/unit/rspec/matchers/match_array_spec.rb +11 -0
  157. data/spec/unit/rspec/matchers/raise_error_spec.rb +16 -0
  158. data/super_diff.gemspec +4 -6
  159. metadata +99 -82
  160. data/lib/super_diff/active_record/object_inspection/map_extension.rb +0 -18
  161. data/lib/super_diff/active_record/operational_sequencers.rb +0 -14
  162. data/lib/super_diff/active_support/object_inspection/map_extension.rb +0 -15
  163. data/lib/super_diff/active_support/operational_sequencers.rb +0 -10
  164. data/lib/super_diff/diff_formatter.rb +0 -32
  165. data/lib/super_diff/differ.rb +0 -51
  166. data/lib/super_diff/differs/time.rb +0 -24
  167. data/lib/super_diff/equality_matcher.rb +0 -32
  168. data/lib/super_diff/no_differ_available_error.rb +0 -22
  169. data/lib/super_diff/no_operational_sequencer_available_error.rb +0 -20
  170. data/lib/super_diff/object_inspection/inspector.rb +0 -27
  171. data/lib/super_diff/object_inspection/inspectors/time.rb +0 -13
  172. data/lib/super_diff/object_inspection/map.rb +0 -30
  173. data/lib/super_diff/operation_sequences.rb +0 -9
  174. data/lib/super_diff/operation_sequences/base.rb +0 -11
  175. data/lib/super_diff/operational_sequencer.rb +0 -48
  176. data/lib/super_diff/operational_sequencers.rb +0 -17
  177. data/lib/super_diff/operational_sequencers/base.rb +0 -89
  178. data/lib/super_diff/operational_sequencers/hash.rb +0 -85
  179. data/lib/super_diff/operational_sequencers/time_like.rb +0 -30
  180. data/lib/super_diff/rspec/configuration.rb +0 -31
  181. data/lib/super_diff/rspec/differs/partial_array.rb +0 -22
  182. data/lib/super_diff/rspec/differs/partial_hash.rb +0 -22
  183. data/lib/super_diff/rspec/differs/partial_object.rb +0 -22
  184. data/lib/super_diff/rspec/object_inspection/inspectors/partial_array.rb +0 -22
  185. data/lib/super_diff/rspec/object_inspection/inspectors/partial_hash.rb +0 -21
  186. data/lib/super_diff/rspec/object_inspection/inspectors/partial_object.rb +0 -21
  187. data/lib/super_diff/rspec/object_inspection/map_extension.rb +0 -23
  188. data/lib/super_diff/rspec/operational_sequencers.rb +0 -22
  189. data/lib/super_diff/rspec/operational_sequencers/partial_hash.rb +0 -32
@@ -2,7 +2,6 @@ module SuperDiff
2
2
  module RSpec
3
3
  module ObjectInspection
4
4
  autoload :Inspectors, "super_diff/rspec/object_inspection/inspectors"
5
- autoload :MapExtension, "super_diff/rspec/object_inspection/map_extension"
6
5
  end
7
6
  end
8
7
  end
@@ -7,16 +7,32 @@ module SuperDiff
7
7
  "super_diff/rspec/object_inspection/inspectors/collection_containing_exactly",
8
8
  )
9
9
  autoload(
10
- :PartialArray,
11
- "super_diff/rspec/object_inspection/inspectors/partial_array",
10
+ :CollectionIncluding,
11
+ "super_diff/rspec/object_inspection/inspectors/collection_including",
12
12
  )
13
13
  autoload(
14
- :PartialHash,
15
- "super_diff/rspec/object_inspection/inspectors/partial_hash",
14
+ :HashIncluding,
15
+ "super_diff/rspec/object_inspection/inspectors/hash_including",
16
16
  )
17
17
  autoload(
18
- :PartialObject,
19
- "super_diff/rspec/object_inspection/inspectors/partial_object",
18
+ :InstanceOf,
19
+ "super_diff/rspec/object_inspection/inspectors/instance_of",
20
+ )
21
+ autoload(
22
+ :KindOf,
23
+ "super_diff/rspec/object_inspection/inspectors/kind_of",
24
+ )
25
+ autoload(
26
+ :ObjectHavingAttributes,
27
+ "super_diff/rspec/object_inspection/inspectors/object_having_attributes",
28
+ )
29
+ autoload(
30
+ :Primitive,
31
+ "super_diff/rspec/object_inspection/inspectors/primitive",
32
+ )
33
+ autoload(
34
+ :ValueWithin,
35
+ "super_diff/rspec/object_inspection/inspectors/value_within",
20
36
  )
21
37
  end
22
38
  end
@@ -2,17 +2,26 @@ module SuperDiff
2
2
  module RSpec
3
3
  module ObjectInspection
4
4
  module Inspectors
5
- CollectionContainingExactly =
6
- SuperDiff::ObjectInspection::InspectionTree.new do
7
- add_text "#<a collection containing exactly ("
5
+ class CollectionContainingExactly < SuperDiff::ObjectInspection::Inspectors::Base
6
+ def self.applies_to?(value)
7
+ SuperDiff::RSpec.a_collection_containing_exactly_something?(value)
8
+ end
8
9
 
9
- nested do |aliased_matcher|
10
- insert_array_inspection_of(aliased_matcher.expected)
11
- end
10
+ protected
11
+
12
+ def inspection_tree
13
+ SuperDiff::ObjectInspection::InspectionTree.new do
14
+ add_text "#<a collection containing exactly ("
12
15
 
13
- add_break
14
- add_text ")>"
16
+ nested do |aliased_matcher|
17
+ insert_array_inspection_of(aliased_matcher.expected)
18
+ end
19
+
20
+ add_break
21
+ add_text ")>"
22
+ end
15
23
  end
24
+ end
16
25
  end
17
26
  end
18
27
  end
@@ -0,0 +1,28 @@
1
+ module SuperDiff
2
+ module RSpec
3
+ module ObjectInspection
4
+ module Inspectors
5
+ class CollectionIncluding < SuperDiff::ObjectInspection::Inspectors::Base
6
+ def self.applies_to?(value)
7
+ SuperDiff::RSpec.a_collection_including_something?(value)
8
+ end
9
+
10
+ protected
11
+
12
+ def inspection_tree
13
+ SuperDiff::ObjectInspection::InspectionTree.new do
14
+ add_text "#<a collection including ("
15
+
16
+ nested do |aliased_matcher|
17
+ insert_array_inspection_of(aliased_matcher.expecteds)
18
+ end
19
+
20
+ add_break
21
+ add_text ")>"
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,31 @@
1
+ module SuperDiff
2
+ module RSpec
3
+ module ObjectInspection
4
+ module Inspectors
5
+ class HashIncluding < SuperDiff::ObjectInspection::Inspectors::Base
6
+ def self.applies_to?(value)
7
+ SuperDiff::RSpec.a_hash_including_something?(value)
8
+ end
9
+
10
+ protected
11
+
12
+ def inspection_tree
13
+ SuperDiff::ObjectInspection::InspectionTree.new do
14
+ add_text "#<a hash including ("
15
+
16
+ nested do |aliased_matcher|
17
+ insert_hash_inspection_of(
18
+ aliased_matcher.expecteds.first,
19
+ initial_break: nil,
20
+ )
21
+ end
22
+
23
+ add_break
24
+ add_text ")>"
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,23 @@
1
+ module SuperDiff
2
+ module RSpec
3
+ module ObjectInspection
4
+ module Inspectors
5
+ class InstanceOf < SuperDiff::ObjectInspection::Inspectors::Base
6
+ def self.applies_to?(value)
7
+ SuperDiff::RSpec.an_instance_of_something?(value)
8
+ end
9
+
10
+ protected
11
+
12
+ def inspection_tree
13
+ SuperDiff::ObjectInspection::InspectionTree.new do
14
+ add_text do |aliased_matcher|
15
+ "#<an instance of #{aliased_matcher.expected}>"
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ module SuperDiff
2
+ module RSpec
3
+ module ObjectInspection
4
+ module Inspectors
5
+ class KindOf < SuperDiff::ObjectInspection::Inspectors::Base
6
+ def self.applies_to?(value)
7
+ SuperDiff::RSpec.a_kind_of_something?(value)
8
+ end
9
+
10
+ protected
11
+
12
+ def inspection_tree
13
+ SuperDiff::ObjectInspection::InspectionTree.new do
14
+ add_text do |aliased_matcher|
15
+ "#<a kind of #{aliased_matcher.expected}>"
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,31 @@
1
+ module SuperDiff
2
+ module RSpec
3
+ module ObjectInspection
4
+ module Inspectors
5
+ class ObjectHavingAttributes < SuperDiff::ObjectInspection::Inspectors::Base
6
+ def self.applies_to?(value)
7
+ SuperDiff::RSpec.an_object_having_some_attributes?(value)
8
+ end
9
+
10
+ protected
11
+
12
+ def inspection_tree
13
+ SuperDiff::ObjectInspection::InspectionTree.new do
14
+ add_text "#<an object having attributes ("
15
+
16
+ nested do |aliased_matcher|
17
+ insert_hash_inspection_of(
18
+ aliased_matcher.expected,
19
+ initial_break: nil,
20
+ )
21
+ end
22
+
23
+ add_break
24
+ add_text ")>"
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,13 @@
1
+ module SuperDiff
2
+ module RSpec
3
+ module ObjectInspection
4
+ module Inspectors
5
+ class Primitive < SuperDiff::ObjectInspection::Inspectors::Primitive
6
+ def self.applies_to?(value)
7
+ super || value.is_a?(::RSpec::Mocks::Double)
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,29 @@
1
+ module SuperDiff
2
+ module RSpec
3
+ module ObjectInspection
4
+ module Inspectors
5
+ class ValueWithin < SuperDiff::ObjectInspection::Inspectors::Base
6
+ def self.applies_to?(value)
7
+ SuperDiff::RSpec.a_value_within_something?(value)
8
+ end
9
+
10
+ protected
11
+
12
+ def inspection_tree
13
+ SuperDiff::ObjectInspection::InspectionTree.new do
14
+ add_text "#<a value within "
15
+
16
+ add_inspection_of do |aliased_matcher|
17
+ aliased_matcher.base_matcher.instance_variable_get("@delta")
18
+ end
19
+
20
+ add_text " of "
21
+ add_inspection_of(&:expected)
22
+ add_text ">"
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,22 @@
1
+ module SuperDiff
2
+ module RSpec
3
+ module OperationTreeBuilders
4
+ autoload(
5
+ :CollectionContainingExactly,
6
+ "super_diff/rspec/operation_tree_builders/collection_containing_exactly",
7
+ )
8
+ autoload(
9
+ :CollectionIncluding,
10
+ "super_diff/rspec/operation_tree_builders/collection_including",
11
+ )
12
+ autoload(
13
+ :HashIncluding,
14
+ "super_diff/rspec/operation_tree_builders/hash_including",
15
+ )
16
+ autoload(
17
+ :ObjectHavingAttributes,
18
+ "super_diff/rspec/operation_tree_builders/object_having_attributes",
19
+ )
20
+ end
21
+ end
22
+ end
@@ -1,13 +1,13 @@
1
1
  module SuperDiff
2
2
  module RSpec
3
- module OperationalSequencers
4
- class CollectionContainingExactly < SuperDiff::OperationalSequencers::Base
3
+ module OperationTreeBuilders
4
+ class CollectionContainingExactly < SuperDiff::OperationTreeBuilders::Base
5
5
  def self.applies_to?(expected, actual)
6
- SuperDiff::RSpec.collection_containing_exactly?(expected) &&
6
+ SuperDiff::RSpec.a_collection_containing_exactly_something?(expected) &&
7
7
  actual.is_a?(::Array)
8
8
  end
9
9
 
10
- def initialize(actual:, **rest)
10
+ def initialize(actual:, **)
11
11
  super
12
12
  populate_pairings_maximizer_in_expected_with(actual)
13
13
  end
@@ -28,8 +28,8 @@ module SuperDiff
28
28
  operations
29
29
  end
30
30
 
31
- def build_operation_sequencer
32
- OperationSequences::Array.new([])
31
+ def build_operation_tree
32
+ OperationTrees::Array.new([])
33
33
  end
34
34
 
35
35
  private
@@ -1,9 +1,10 @@
1
1
  module SuperDiff
2
2
  module RSpec
3
- module OperationalSequencers
4
- class PartialArray < SuperDiff::OperationalSequencers::Array
3
+ module OperationTreeBuilders
4
+ class CollectionIncluding < SuperDiff::OperationTreeBuilders::Array
5
5
  def self.applies_to?(expected, actual)
6
- SuperDiff::RSpec.partial_array?(expected) && actual.is_a?(::Array)
6
+ SuperDiff::RSpec.a_collection_including_something?(expected) &&
7
+ actual.is_a?(::Array)
7
8
  end
8
9
 
9
10
  def initialize(expected:, actual:, **rest)
@@ -0,0 +1,25 @@
1
+ module SuperDiff
2
+ module RSpec
3
+ module OperationTreeBuilders
4
+ class HashIncluding < SuperDiff::OperationTreeBuilders::Hash
5
+ def self.applies_to?(expected, actual)
6
+ SuperDiff::RSpec.a_hash_including_something?(expected) &&
7
+ actual.is_a?(::Hash)
8
+ end
9
+
10
+ def initialize(expected:, **rest)
11
+ super(expected: expected.expecteds.first, **rest)
12
+ end
13
+
14
+ private
15
+
16
+ def should_add_noop_operation?(key)
17
+ !expected.include?(key) || (
18
+ actual.include?(key) &&
19
+ expected[key] == actual[key]
20
+ )
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -1,24 +1,18 @@
1
1
  module SuperDiff
2
2
  module RSpec
3
- module OperationalSequencers
4
- class PartialObject < SuperDiff::OperationalSequencers::DefaultObject
3
+ module OperationTreeBuilders
4
+ class ObjectHavingAttributes < SuperDiff::OperationTreeBuilders::DefaultObject
5
5
  def self.applies_to?(expected, _actual)
6
- SuperDiff::RSpec.partial_object?(expected)
6
+ SuperDiff::RSpec.an_object_having_some_attributes?(expected)
7
7
  end
8
8
 
9
9
  protected
10
10
 
11
- def build_operation_sequencer
12
- # TODO: Test this
13
- if actual.respond_to?(:attributes_for_super_diff)
14
- OperationSequences::CustomObject.new([], value_class: actual.class)
15
- else
16
- OperationSequences::DefaultObject.new([], value_class: actual.class)
17
- end
11
+ def build_operation_tree
12
+ find_operation_tree_for(actual)
18
13
  end
19
14
 
20
15
  def attribute_names
21
- # TODO: Test this
22
16
  if actual.respond_to?(:attributes_for_super_diff)
23
17
  actual.attributes_for_super_diff.keys | expected.expected.keys
24
18
  else
@@ -1,3 +1,3 @@
1
1
  module SuperDiff
2
- VERSION = "0.3.0".freeze
2
+ VERSION = "0.5.1".freeze
3
3
  end
@@ -1,350 +1,5 @@
1
- example_id | status | run_time |
2
- ------------------------------------------------------------------------ | ------- | --------------- |
3
- ./spec/integration/rails/active_record_spec.rb[1:1:1:1:1] | passed | 2.15 seconds |
4
- ./spec/integration/rails/active_record_spec.rb[1:1:1:2:1] | passed | 2.19 seconds |
5
- ./spec/integration/rails/active_record_spec.rb[1:1:1:3:1] | passed | 2.13 seconds |
6
- ./spec/integration/rails/active_record_spec.rb[1:1:1:4:1] | passed | 2.16 seconds |
7
- ./spec/integration/rails/active_record_spec.rb[1:1:1:5:1] | passed | 2.14 seconds |
8
- ./spec/integration/rails/active_record_spec.rb[1:1:1:6:1] | passed | 2.15 seconds |
9
- ./spec/integration/rails/active_record_spec.rb[1:2:1:1:1] | passed | 2.2 seconds |
10
- ./spec/integration/rails/active_record_spec.rb[1:2:1:2:1] | passed | 2.11 seconds |
11
- ./spec/integration/rails/active_record_spec.rb[1:2:1:3:1] | passed | 2.08 seconds |
12
- ./spec/integration/rails/active_record_spec.rb[1:2:1:4:1] | passed | 2.14 seconds |
13
- ./spec/integration/rails/active_record_spec.rb[1:2:1:5:1] | passed | 2.24 seconds |
14
- ./spec/integration/rails/active_record_spec.rb[1:2:1:6:1] | passed | 2.14 seconds |
15
- ./spec/integration/rails/hash_with_indifferent_access_spec.rb[1:1:1:1:1] | passed | 2.1 seconds |
16
- ./spec/integration/rails/hash_with_indifferent_access_spec.rb[1:1:1:2:1] | passed | 2.12 seconds |
17
- ./spec/integration/rails/hash_with_indifferent_access_spec.rb[1:1:2:1:1] | passed | 2.15 seconds |
18
- ./spec/integration/rails/hash_with_indifferent_access_spec.rb[1:1:2:2:1] | passed | 2.1 seconds |
19
- ./spec/integration/rails/hash_with_indifferent_access_spec.rb[1:2:1:1:1] | passed | 2.1 seconds |
20
- ./spec/integration/rails/hash_with_indifferent_access_spec.rb[1:2:1:2:1] | passed | 2.13 seconds |
21
- ./spec/integration/rails/hash_with_indifferent_access_spec.rb[1:2:2:1:1] | passed | 2.1 seconds |
22
- ./spec/integration/rails/hash_with_indifferent_access_spec.rb[1:2:2:2:1] | passed | 2.22 seconds |
23
- ./spec/integration/rspec/be_falsey_matcher_spec.rb[1:1] | passed | 1.22 seconds |
24
- ./spec/integration/rspec/be_falsey_matcher_spec.rb[1:2] | passed | 1.25 seconds |
25
- ./spec/integration/rspec/be_matcher_spec.rb[1:1:1:1] | passed | 1.23 seconds |
26
- ./spec/integration/rspec/be_matcher_spec.rb[1:1:1:2] | passed | 1.21 seconds |
27
- ./spec/integration/rspec/be_matcher_spec.rb[1:1:2:1] | passed | 1.22 seconds |
28
- ./spec/integration/rspec/be_matcher_spec.rb[1:1:2:2] | passed | 1.23 seconds |
29
- ./spec/integration/rspec/be_matcher_spec.rb[1:2:1] | passed | 1.22 seconds |
30
- ./spec/integration/rspec/be_matcher_spec.rb[1:2:2] | passed | 1.22 seconds |
31
- ./spec/integration/rspec/be_matcher_spec.rb[1:3:1] | passed | 1.23 seconds |
32
- ./spec/integration/rspec/be_matcher_spec.rb[1:3:2] | passed | 1.23 seconds |
33
- ./spec/integration/rspec/be_matcher_spec.rb[1:4:1] | passed | 1.24 seconds |
34
- ./spec/integration/rspec/be_matcher_spec.rb[1:4:2] | passed | 1.27 seconds |
35
- ./spec/integration/rspec/be_matcher_spec.rb[1:5:1] | passed | 1.22 seconds |
36
- ./spec/integration/rspec/be_matcher_spec.rb[1:5:2] | passed | 1.22 seconds |
37
- ./spec/integration/rspec/be_matcher_spec.rb[1:6:1] | passed | 1.23 seconds |
38
- ./spec/integration/rspec/be_matcher_spec.rb[1:6:2] | passed | 1.25 seconds |
39
- ./spec/integration/rspec/be_matcher_spec.rb[1:7:1] | passed | 1.22 seconds |
40
- ./spec/integration/rspec/be_matcher_spec.rb[1:7:2] | passed | 1.23 seconds |
41
- ./spec/integration/rspec/be_matcher_spec.rb[1:8:1] | passed | 1.22 seconds |
42
- ./spec/integration/rspec/be_matcher_spec.rb[1:8:2] | passed | 1.26 seconds |
43
- ./spec/integration/rspec/be_matcher_spec.rb[1:9:1] | passed | 1.28 seconds |
44
- ./spec/integration/rspec/be_matcher_spec.rb[1:9:2] | passed | 1.22 seconds |
45
- ./spec/integration/rspec/be_nil_matcher_spec.rb[1:1] | passed | 1.22 seconds |
46
- ./spec/integration/rspec/be_nil_matcher_spec.rb[1:2] | passed | 1.27 seconds |
47
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:1:1:1:1] | passed | 1.27 seconds |
48
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:1:1:2:1] | passed | 1.31 seconds |
49
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:1:2:1:1:1] | passed | 1.31 seconds |
50
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:1:2:1:2:1] | passed | 1.27 seconds |
51
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:1:2:2:1:1:1:1] | passed | 1.28 seconds |
52
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:1:2:2:1:1:2:1] | passed | 1.27 seconds |
53
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:1:2:2:1:2:1] | passed | 1.25 seconds |
54
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:1:2:2:1:3:1:1:1] | passed | 1.32 seconds |
55
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:1:2:2:1:3:1:2:1] | passed | 1.27 seconds |
56
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:1:2:2:1:3:2:1:1] | passed | 1.31 seconds |
57
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:1:2:2:1:3:2:2:1] | passed | 1.25 seconds |
58
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:1:2:2:2:1] | passed | 1.28 seconds |
59
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:2:1:1:1] | passed | 1.34 seconds |
60
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:2:1:2:1] | passed | 1.26 seconds |
61
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:2:2:1:1:1] | passed | 1.26 seconds |
62
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:2:2:1:2:1] | passed | 1.26 seconds |
63
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:2:2:2:1:1:1:1] | passed | 1.26 seconds |
64
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:2:2:2:1:1:2:1] | passed | 1.26 seconds |
65
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:2:2:2:1:2:1] | passed | 1.26 seconds |
66
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:2:2:2:1:3:1:1:1] | passed | 1.3 seconds |
67
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:2:2:2:1:3:1:2:1] | passed | 1.28 seconds |
68
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:2:2:2:1:3:2:1:1] | passed | 1.31 seconds |
69
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:2:2:2:1:3:2:2:1] | passed | 1.25 seconds |
70
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:2:2:2:2:1] | passed | 1.29 seconds |
71
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:3:1:1:1] | passed | 1.25 seconds |
72
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:3:1:2:1] | passed | 1.25 seconds |
73
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:3:2:1:1:1] | passed | 1.26 seconds |
74
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:3:2:1:2:1] | passed | 1.25 seconds |
75
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:3:2:2:1:1:1:1] | passed | 1.26 seconds |
76
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:3:2:2:1:1:2:1] | passed | 1.26 seconds |
77
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:3:2:2:1:2:1] | passed | 1.26 seconds |
78
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:3:2:2:1:3:1:1:1] | passed | 1.3 seconds |
79
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:3:2:2:1:3:1:2:1] | passed | 1.35 seconds |
80
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:3:2:2:1:3:2:1:1] | passed | 1.26 seconds |
81
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:3:2:2:1:3:2:2:1] | passed | 1.26 seconds |
82
- ./spec/integration/rspec/be_predicate_matcher_spec.rb[1:3:2:2:2:1] | passed | 1.25 seconds |
83
- ./spec/integration/rspec/be_truthy_matcher_spec.rb[1:1] | passed | 1.32 seconds |
84
- ./spec/integration/rspec/be_truthy_matcher_spec.rb[1:2] | passed | 1.33 seconds |
85
- ./spec/integration/rspec/contain_exactly_matcher_spec.rb[1:1:1] | passed | 1.21 seconds |
86
- ./spec/integration/rspec/contain_exactly_matcher_spec.rb[1:1:2] | passed | 1.25 seconds |
87
- ./spec/integration/rspec/contain_exactly_matcher_spec.rb[1:2:1:1] | passed | 1.27 seconds |
88
- ./spec/integration/rspec/contain_exactly_matcher_spec.rb[1:2:1:2] | failed | 0.63016 seconds |
89
- ./spec/integration/rspec/contain_exactly_matcher_spec.rb[1:2:2:1] | passed | 1.34 seconds |
90
- ./spec/integration/rspec/contain_exactly_matcher_spec.rb[1:2:2:2] | passed | 1.26 seconds |
91
- ./spec/integration/rspec/contain_exactly_matcher_spec.rb[1:2:3:1] | passed | 1.29 seconds |
92
- ./spec/integration/rspec/eq_matcher_spec.rb[1:1:1] | passed | 1.3 seconds |
93
- ./spec/integration/rspec/eq_matcher_spec.rb[1:1:2] | passed | 1.27 seconds |
94
- ./spec/integration/rspec/eq_matcher_spec.rb[1:2:1] | passed | 1.22 seconds |
95
- ./spec/integration/rspec/eq_matcher_spec.rb[1:2:2] | passed | 1.25 seconds |
96
- ./spec/integration/rspec/eq_matcher_spec.rb[1:3:1] | passed | 1.23 seconds |
97
- ./spec/integration/rspec/eq_matcher_spec.rb[1:3:2] | passed | 1.27 seconds |
98
- ./spec/integration/rspec/eq_matcher_spec.rb[1:4:1] | passed | 1.33 seconds |
99
- ./spec/integration/rspec/eq_matcher_spec.rb[1:5:1] | passed | 1.28 seconds |
100
- ./spec/integration/rspec/eq_matcher_spec.rb[1:6:1] | passed | 1.27 seconds |
101
- ./spec/integration/rspec/eq_matcher_spec.rb[1:6:2] | passed | 1.23 seconds |
102
- ./spec/integration/rspec/eq_matcher_spec.rb[1:7:1] | passed | 1.29 seconds |
103
- ./spec/integration/rspec/eq_matcher_spec.rb[1:7:2] | passed | 1.24 seconds |
104
- ./spec/integration/rspec/eq_matcher_spec.rb[1:8:1] | passed | 1.27 seconds |
105
- ./spec/integration/rspec/eq_matcher_spec.rb[1:8:2] | passed | 1.27 seconds |
106
- ./spec/integration/rspec/eq_matcher_spec.rb[1:9:1] | passed | 1.25 seconds |
107
- ./spec/integration/rspec/eq_matcher_spec.rb[1:9:2] | passed | 1.22 seconds |
108
- ./spec/integration/rspec/eq_matcher_spec.rb[1:10:1] | passed | 1.27 seconds |
109
- ./spec/integration/rspec/eq_matcher_spec.rb[1:10:2] | passed | 1.26 seconds |
110
- ./spec/integration/rspec/eq_matcher_spec.rb[1:11:1] | passed | 1.28 seconds |
111
- ./spec/integration/rspec/eq_matcher_spec.rb[1:12:1] | passed | 1.28 seconds |
112
- ./spec/integration/rspec/eq_matcher_spec.rb[1:13:1] | passed | 1.29 seconds |
113
- ./spec/integration/rspec/have_attributes_matcher_spec.rb[1:1:1:1] | passed | 1.28 seconds |
114
- ./spec/integration/rspec/have_attributes_matcher_spec.rb[1:1:1:2] | passed | 1.27 seconds |
115
- ./spec/integration/rspec/have_attributes_matcher_spec.rb[1:1:2:1] | passed | 1.28 seconds |
116
- ./spec/integration/rspec/have_attributes_matcher_spec.rb[1:2:1:1] | passed | 1.28 seconds |
117
- ./spec/integration/rspec/have_attributes_matcher_spec.rb[1:2:1:2] | passed | 1.25 seconds |
118
- ./spec/integration/rspec/have_attributes_matcher_spec.rb[1:2:2:1] | passed | 1.28 seconds |
119
- ./spec/integration/rspec/include_matcher_spec.rb[1:1:1:1] | passed | 1.28 seconds |
120
- ./spec/integration/rspec/include_matcher_spec.rb[1:1:1:2] | passed | 1.31 seconds |
121
- ./spec/integration/rspec/include_matcher_spec.rb[1:1:2:1] | passed | 1.28 seconds |
122
- ./spec/integration/rspec/include_matcher_spec.rb[1:1:2:2] | passed | 1.24 seconds |
123
- ./spec/integration/rspec/include_matcher_spec.rb[1:2:1:1] | passed | 1.31 seconds |
124
- ./spec/integration/rspec/include_matcher_spec.rb[1:2:1:2] | passed | 1.24 seconds |
125
- ./spec/integration/rspec/include_matcher_spec.rb[1:2:2:1] | passed | 1.42 seconds |
126
- ./spec/integration/rspec/include_matcher_spec.rb[1:2:2:2] | passed | 1.22 seconds |
127
- ./spec/integration/rspec/match_matcher_spec.rb[1:1:1:1] | passed | 1.28 seconds |
128
- ./spec/integration/rspec/match_matcher_spec.rb[1:1:1:2] | passed | 1.22 seconds |
129
- ./spec/integration/rspec/match_matcher_spec.rb[1:1:2:1] | passed | 1.31 seconds |
130
- ./spec/integration/rspec/match_matcher_spec.rb[1:1:2:2] | passed | 1.25 seconds |
131
- ./spec/integration/rspec/match_matcher_spec.rb[1:2:1:1] | passed | 1.28 seconds |
132
- ./spec/integration/rspec/match_matcher_spec.rb[1:2:1:2] | passed | 1.24 seconds |
133
- ./spec/integration/rspec/match_matcher_spec.rb[1:2:2:1] | passed | 1.3 seconds |
134
- ./spec/integration/rspec/match_matcher_spec.rb[1:3:1:1] | passed | 1.28 seconds |
135
- ./spec/integration/rspec/match_matcher_spec.rb[1:3:1:2] | passed | 1.25 seconds |
136
- ./spec/integration/rspec/match_matcher_spec.rb[1:3:2:1] | passed | 1.28 seconds |
137
- ./spec/integration/rspec/match_matcher_spec.rb[1:3:2:2] | passed | 1.23 seconds |
138
- ./spec/integration/rspec/match_matcher_spec.rb[1:4:1:1] | passed | 1.28 seconds |
139
- ./spec/integration/rspec/match_matcher_spec.rb[1:4:1:2] | passed | 1.23 seconds |
140
- ./spec/integration/rspec/match_matcher_spec.rb[1:4:2:1] | passed | 1.28 seconds |
141
- ./spec/integration/rspec/match_matcher_spec.rb[1:5:1:1] | passed | 1.29 seconds |
142
- ./spec/integration/rspec/match_matcher_spec.rb[1:5:1:2] | passed | 1.25 seconds |
143
- ./spec/integration/rspec/match_matcher_spec.rb[1:5:2:1] | passed | 1.27 seconds |
144
- ./spec/integration/rspec/match_matcher_spec.rb[1:5:2:2] | passed | 1.23 seconds |
145
- ./spec/integration/rspec/match_matcher_spec.rb[1:6:1] | passed | 1.29 seconds |
146
- ./spec/integration/rspec/match_matcher_spec.rb[1:6:2] | passed | 1.23 seconds |
147
- ./spec/integration/rspec/match_matcher_spec.rb[1:7:1:1] | passed | 1.26 seconds |
148
- ./spec/integration/rspec/match_matcher_spec.rb[1:7:1:2] | passed | 1.31 seconds |
149
- ./spec/integration/rspec/match_matcher_spec.rb[1:7:2:1] | passed | 1.27 seconds |
150
- ./spec/integration/rspec/match_matcher_spec.rb[1:7:2:2] | passed | 1.26 seconds |
151
- ./spec/integration/rspec/match_matcher_spec.rb[1:8:1:1] | passed | 1.39 seconds |
152
- ./spec/integration/rspec/match_matcher_spec.rb[1:8:1:2] | passed | 1.25 seconds |
153
- ./spec/integration/rspec/match_matcher_spec.rb[1:8:2:1] | passed | 1.28 seconds |
154
- ./spec/integration/rspec/raise_error_matcher_spec.rb[1:1:1] | passed | 1.45 seconds |
155
- ./spec/integration/rspec/raise_error_matcher_spec.rb[1:1:2] | passed | 1.31 seconds |
156
- ./spec/integration/rspec/raise_error_matcher_spec.rb[1:2:1:1] | passed | 1.29 seconds |
157
- ./spec/integration/rspec/raise_error_matcher_spec.rb[1:2:1:2] | passed | 1.31 seconds |
158
- ./spec/integration/rspec/raise_error_matcher_spec.rb[1:2:2:1:1] | passed | 1.22 seconds |
159
- ./spec/integration/rspec/raise_error_matcher_spec.rb[1:2:2:1:2] | passed | 1.21 seconds |
160
- ./spec/integration/rspec/raise_error_matcher_spec.rb[1:2:2:2:1] | passed | 1.27 seconds |
161
- ./spec/integration/rspec/raise_error_matcher_spec.rb[1:2:2:2:2] | passed | 1.22 seconds |
162
- ./spec/integration/rspec/raise_error_matcher_spec.rb[1:3:1] | passed | 1.3 seconds |
163
- ./spec/integration/rspec/raise_error_matcher_spec.rb[1:3:2] | passed | 1.3 seconds |
164
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:1:1:1] | passed | 1.27 seconds |
165
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:1:1:2] | passed | 1.28 seconds |
166
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:1:2:1] | passed | 1.24 seconds |
167
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:1:2:2] | passed | 1.23 seconds |
168
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:2:1:1] | passed | 1.28 seconds |
169
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:2:1:2] | passed | 1.26 seconds |
170
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:2:2:1] | passed | 1.22 seconds |
171
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:2:2:2] | passed | 1.23 seconds |
172
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:3:1:1] | passed | 1.26 seconds |
173
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:3:1:2] | passed | 1.28 seconds |
174
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:3:2:1] | passed | 1.23 seconds |
175
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:3:2:2] | passed | 1.23 seconds |
176
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:4:1:1] | passed | 1.3 seconds |
177
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:4:1:2] | passed | 1.27 seconds |
178
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:4:2:1] | passed | 1.26 seconds |
179
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:4:2:2] | passed | 1.23 seconds |
180
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:5:1:1] | passed | 1.22 seconds |
181
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:5:1:2] | passed | 1.23 seconds |
182
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:5:2:1] | passed | 1.22 seconds |
183
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:5:2:2] | passed | 1.22 seconds |
184
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:6:1] | passed | 1.22 seconds |
185
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:6:2] | passed | 1.26 seconds |
186
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:7:1] | passed | 1.23 seconds |
187
- ./spec/integration/rspec/respond_to_matcher_spec.rb[1:7:2] | passed | 1.24 seconds |
188
- ./spec/integration/rspec/unhandled_errors_spec.rb[1:1:1] | unknown | |
189
- ./spec/integration/rspec/unhandled_errors_spec.rb[1:2:1] | unknown | |
190
- ./spec/unit/equality_matcher_spec.rb[1:1:1:1] | passed | 0.00022 seconds |
191
- ./spec/unit/equality_matcher_spec.rb[1:1:2:1] | passed | 0.00025 seconds |
192
- ./spec/unit/equality_matcher_spec.rb[1:1:3:1] | passed | 0.01272 seconds |
193
- ./spec/unit/equality_matcher_spec.rb[1:1:4:1] | passed | 0.0003 seconds |
194
- ./spec/unit/equality_matcher_spec.rb[1:1:5:1] | passed | 0.00052 seconds |
195
- ./spec/unit/equality_matcher_spec.rb[1:1:6:1] | passed | 0.00022 seconds |
196
- ./spec/unit/equality_matcher_spec.rb[1:1:7:1] | passed | 0.01308 seconds |
197
- ./spec/unit/equality_matcher_spec.rb[1:1:8:1] | passed | 0.00051 seconds |
198
- ./spec/unit/equality_matcher_spec.rb[1:1:9:1] | passed | 0.00035 seconds |
199
- ./spec/unit/equality_matcher_spec.rb[1:1:10:1] | passed | 0.00034 seconds |
200
- ./spec/unit/equality_matcher_spec.rb[1:1:11:1] | passed | 0.01028 seconds |
201
- ./spec/unit/equality_matcher_spec.rb[1:1:12:1] | passed | 0.00074 seconds |
202
- ./spec/unit/equality_matcher_spec.rb[1:1:13:1] | passed | 0.00191 seconds |
203
- ./spec/unit/equality_matcher_spec.rb[1:1:14:1] | passed | 0.00036 seconds |
204
- ./spec/unit/equality_matcher_spec.rb[1:1:15:1] | passed | 0.016 seconds |
205
- ./spec/unit/equality_matcher_spec.rb[1:1:16:1] | passed | 0.00104 seconds |
206
- ./spec/unit/equality_matcher_spec.rb[1:1:17:1] | passed | 0.00115 seconds |
207
- ./spec/unit/equality_matcher_spec.rb[1:1:18:1] | passed | 0.00374 seconds |
208
- ./spec/unit/equality_matcher_spec.rb[1:1:19:1] | passed | 0.00782 seconds |
209
- ./spec/unit/equality_matcher_spec.rb[1:1:20:1] | passed | 0.00187 seconds |
210
- ./spec/unit/equality_matcher_spec.rb[1:1:21:1] | passed | 0.00124 seconds |
211
- ./spec/unit/equality_matcher_spec.rb[1:1:22:1] | passed | 0.00125 seconds |
212
- ./spec/unit/equality_matcher_spec.rb[1:1:23:1] | passed | 0.00189 seconds |
213
- ./spec/unit/equality_matcher_spec.rb[1:1:24:1] | passed | 0.00244 seconds |
214
- ./spec/unit/equality_matcher_spec.rb[1:1:25:1] | passed | 0.0015 seconds |
215
- ./spec/unit/equality_matcher_spec.rb[1:1:26:1] | passed | 0.0177 seconds |
216
- ./spec/unit/equality_matcher_spec.rb[1:1:27:1] | passed | 0.00032 seconds |
217
- ./spec/unit/equality_matcher_spec.rb[1:1:28:1] | passed | 0.02128 seconds |
218
- ./spec/unit/equality_matcher_spec.rb[1:1:29:1] | passed | 0.00164 seconds |
219
- ./spec/unit/equality_matcher_spec.rb[1:1:30:1] | passed | 0.00096 seconds |
220
- ./spec/unit/equality_matcher_spec.rb[1:1:31:1] | passed | 0.00094 seconds |
221
- ./spec/unit/equality_matcher_spec.rb[1:1:32:1] | passed | 0.00309 seconds |
222
- ./spec/unit/equality_matcher_spec.rb[1:1:33:1] | passed | 0.00092 seconds |
223
- ./spec/unit/equality_matcher_spec.rb[1:1:34:1] | passed | 0.00107 seconds |
224
- ./spec/unit/equality_matcher_spec.rb[1:1:35:1] | passed | 0.00828 seconds |
225
- ./spec/unit/equality_matcher_spec.rb[1:1:36:1] | passed | 0.00271 seconds |
226
- ./spec/unit/equality_matcher_spec.rb[1:1:37:1] | passed | 0.00308 seconds |
227
- ./spec/unit/equality_matcher_spec.rb[1:1:38:1] | passed | 0.00407 seconds |
228
- ./spec/unit/equality_matcher_spec.rb[1:1:39:1] | passed | 0.00072 seconds |
229
- ./spec/unit/equality_matcher_spec.rb[1:1:40:1] | passed | 0.01364 seconds |
230
- ./spec/unit/equality_matcher_spec.rb[1:1:41:1] | passed | 0.00676 seconds |
231
- ./spec/unit/equality_matcher_spec.rb[1:1:42:1] | passed | 0.00096 seconds |
232
- ./spec/unit/equality_matcher_spec.rb[1:1:43:1] | passed | 0.00066 seconds |
233
- ./spec/unit/equality_matcher_spec.rb[1:1:44:1] | passed | 0.00338 seconds |
234
- ./spec/unit/equality_matcher_spec.rb[1:1:45:1] | passed | 0.01327 seconds |
235
- ./spec/unit/equality_matcher_spec.rb[1:1:46:1] | passed | 0.00207 seconds |
236
- ./spec/unit/equality_matcher_spec.rb[1:1:47:1] | passed | 0.00117 seconds |
237
- ./spec/unit/object_inspection_spec.rb[1:1:1:1:1] | passed | 0.00021 seconds |
238
- ./spec/unit/object_inspection_spec.rb[1:1:1:2:1] | passed | 0.0002 seconds |
239
- ./spec/unit/object_inspection_spec.rb[1:1:2:1:1] | passed | 0.00023 seconds |
240
- ./spec/unit/object_inspection_spec.rb[1:1:2:2:1] | passed | 0.0003 seconds |
241
- ./spec/unit/object_inspection_spec.rb[1:1:3:1:1] | passed | 0.00085 seconds |
242
- ./spec/unit/object_inspection_spec.rb[1:1:3:2:1] | passed | 0.00535 seconds |
243
- ./spec/unit/object_inspection_spec.rb[1:1:4:1:1] | passed | 0.00021 seconds |
244
- ./spec/unit/object_inspection_spec.rb[1:1:4:2:1] | passed | 0.00022 seconds |
245
- ./spec/unit/object_inspection_spec.rb[1:1:5:1:1] | passed | 0.00032 seconds |
246
- ./spec/unit/object_inspection_spec.rb[1:1:5:2:1] | passed | 0.00021 seconds |
247
- ./spec/unit/object_inspection_spec.rb[1:1:6:1:1] | passed | 0.00025 seconds |
248
- ./spec/unit/object_inspection_spec.rb[1:1:6:2:1] | passed | 0.0003 seconds |
249
- ./spec/unit/object_inspection_spec.rb[1:1:7:1] | passed | 0.00042 seconds |
250
- ./spec/unit/object_inspection_spec.rb[1:1:8:1:1] | passed | 0.00025 seconds |
251
- ./spec/unit/object_inspection_spec.rb[1:1:8:2:1] | passed | 0.01625 seconds |
252
- ./spec/unit/object_inspection_spec.rb[1:1:9:1:1:1] | passed | 0.00037 seconds |
253
- ./spec/unit/object_inspection_spec.rb[1:1:9:1:2:1] | passed | 0.00035 seconds |
254
- ./spec/unit/object_inspection_spec.rb[1:1:9:2:1:1] | passed | 0.00065 seconds |
255
- ./spec/unit/object_inspection_spec.rb[1:1:9:2:2:1] | passed | 0.00038 seconds |
256
- ./spec/unit/object_inspection_spec.rb[1:1:9:3:1:1] | passed | 0.00026 seconds |
257
- ./spec/unit/object_inspection_spec.rb[1:1:9:3:2:1] | passed | 0.00029 seconds |
258
- ./spec/unit/object_inspection_spec.rb[1:1:10:1:1:1:1] | passed | 0.00134 seconds |
259
- ./spec/unit/object_inspection_spec.rb[1:1:10:1:1:2:1] | passed | 0.00438 seconds |
260
- ./spec/unit/object_inspection_spec.rb[1:1:10:1:2:1:1] | passed | 0.00212 seconds |
261
- ./spec/unit/object_inspection_spec.rb[1:1:10:1:2:2:1] | passed | 0.00338 seconds |
262
- ./spec/unit/object_inspection_spec.rb[1:1:10:2:1:1] | passed | 0.0014 seconds |
263
- ./spec/unit/object_inspection_spec.rb[1:1:10:2:2:1] | passed | 0.00212 seconds |
264
- ./spec/unit/object_inspection_spec.rb[1:1:10:3:1:1] | passed | 0.00104 seconds |
265
- ./spec/unit/object_inspection_spec.rb[1:1:10:3:2:1] | passed | 0.00041 seconds |
266
- ./spec/unit/object_inspection_spec.rb[1:1:11:1:1] | passed | 0.00201 seconds |
267
- ./spec/unit/object_inspection_spec.rb[1:1:11:2:1] | passed | 0.0023 seconds |
268
- ./spec/unit/object_inspection_spec.rb[1:1:12:1:1:1] | passed | 0.00185 seconds |
269
- ./spec/unit/object_inspection_spec.rb[1:1:12:1:2:1] | passed | 0.0032 seconds |
270
- ./spec/unit/object_inspection_spec.rb[1:1:12:2:1:1] | passed | 0.00232 seconds |
271
- ./spec/unit/object_inspection_spec.rb[1:1:12:2:2:1] | passed | 0.00332 seconds |
272
- ./spec/unit/object_inspection_spec.rb[1:1:13:1:1:1] | passed | 0.00027 seconds |
273
- ./spec/unit/object_inspection_spec.rb[1:1:13:1:2:1] | passed | 0.00038 seconds |
274
- ./spec/unit/object_inspection_spec.rb[1:1:13:2:1:1] | passed | 0.00036 seconds |
275
- ./spec/unit/object_inspection_spec.rb[1:1:13:2:2:1] | passed | 0.00068 seconds |
276
- ./spec/unit/object_inspection_spec.rb[1:1:13:3:1:1] | passed | 0.00033 seconds |
277
- ./spec/unit/object_inspection_spec.rb[1:1:13:3:2:1] | passed | 0.0003 seconds |
278
- ./spec/unit/object_inspection_spec.rb[1:1:14:1:1] | passed | 0.00232 seconds |
279
- ./spec/unit/object_inspection_spec.rb[1:1:14:2:1] | passed | 0.00424 seconds |
280
- ./spec/unit/object_inspection_spec.rb[1:1:15:1:1] | passed | 0.00067 seconds |
281
- ./spec/unit/object_inspection_spec.rb[1:1:15:2:1] | passed | 0.00032 seconds |
282
- ./spec/unit/object_inspection_spec.rb[1:1:16:1:1] | passed | 0.00091 seconds |
283
- ./spec/unit/object_inspection_spec.rb[1:1:16:2:1] | passed | 0.00036 seconds |
284
- ./spec/unit/object_inspection_spec.rb[1:1:17:1:1] | passed | 0.00143 seconds |
285
- ./spec/unit/object_inspection_spec.rb[1:1:17:2:1] | passed | 0.00045 seconds |
286
- ./spec/unit/object_inspection_spec.rb[1:1:18:1:1:1] | passed | 0.00031 seconds |
287
- ./spec/unit/object_inspection_spec.rb[1:1:18:1:2:1] | passed | 0.00025 seconds |
288
- ./spec/unit/object_inspection_spec.rb[1:1:19:1:1] | passed | 0.00046 seconds |
289
- ./spec/unit/object_inspection_spec.rb[1:1:19:2:1] | passed | 0.00048 seconds |
290
- ./spec/unit/object_inspection_spec.rb[1:1:20:1:1] | passed | 0.00147 seconds |
291
- ./spec/unit/object_inspection_spec.rb[1:1:20:2:1] | passed | 0.01531 seconds |
292
- ./spec/unit/object_inspection_spec.rb[1:1:21:1:1] | passed | 0.00234 seconds |
293
- ./spec/unit/object_inspection_spec.rb[1:1:21:2:1] | passed | 0.00219 seconds |
294
- ./spec/unit/object_inspection_spec.rb[1:1:22:1:1] | passed | 0.00124 seconds |
295
- ./spec/unit/object_inspection_spec.rb[1:1:22:2:1] | passed | 0.01174 seconds |
296
- ./spec/unit/object_inspection_spec.rb[1:1:23:1:1] | passed | 0.00045 seconds |
297
- ./spec/unit/object_inspection_spec.rb[1:1:23:2:1] | passed | 0.0004 seconds |
298
- ./spec/unit/object_inspection_spec.rb[1:1:24:1:1] | passed | 0.00032 seconds |
299
- ./spec/unit/object_inspection_spec.rb[1:1:24:2:1] | passed | 0.00029 seconds |
300
- ./spec/unit/object_inspection_spec.rb[1:1:25:1:1] | passed | 0.00115 seconds |
301
- ./spec/unit/object_inspection_spec.rb[1:1:25:2:1] | passed | 0.00052 seconds |
302
- ./spec/unit/object_inspection_spec.rb[1:1:26:1:1] | passed | 0.00062 seconds |
303
- ./spec/unit/object_inspection_spec.rb[1:1:26:2:1] | passed | 0.00038 seconds |
304
- ./spec/unit/object_inspection_spec.rb[1:1:27:1:1] | passed | 0.00021 seconds |
305
- ./spec/unit/object_inspection_spec.rb[1:1:27:2:1] | passed | 0.00021 seconds |
306
- ./spec/unit/object_inspection_spec.rb[1:1:28:1:1] | passed | 0.00065 seconds |
307
- ./spec/unit/object_inspection_spec.rb[1:1:28:2:1] | passed | 0.00032 seconds |
308
- ./spec/unit/object_inspection_spec.rb[1:1:29:1:1:1] | passed | 0.00133 seconds |
309
- ./spec/unit/object_inspection_spec.rb[1:1:29:1:2:1] | passed | 0.00052 seconds |
310
- ./spec/unit/object_inspection_spec.rb[1:1:29:2:1:1] | passed | 0.00042 seconds |
311
- ./spec/unit/object_inspection_spec.rb[1:1:29:2:2:1] | passed | 0.00066 seconds |
312
- ./spec/unit/object_inspection_spec.rb[1:1:30:1:1] | passed | 0.00042 seconds |
313
- ./spec/unit/object_inspection_spec.rb[1:1:30:2:1] | passed | 0.0011 seconds |
314
- ./spec/unit/object_inspection_spec.rb[1:1:31:1:1] | passed | 0.00021 seconds |
315
- ./spec/unit/object_inspection_spec.rb[1:1:31:2:1] | passed | 0.00022 seconds |
316
- ./spec/unit/object_inspection_spec.rb[1:1:32:1:1] | passed | 0.00064 seconds |
317
- ./spec/unit/object_inspection_spec.rb[1:1:32:2:1] | passed | 0.00079 seconds |
318
- ./spec/unit/object_inspection_spec.rb[1:1:33:1:1] | passed | 0.00024 seconds |
319
- ./spec/unit/object_inspection_spec.rb[1:1:33:2:1] | passed | 0.00027 seconds |
320
- ./spec/unit/rspec/matchers/be_compared_to_spec.rb[1:1:1:1] | passed | 0.00043 seconds |
321
- ./spec/unit/rspec/matchers/be_compared_to_spec.rb[1:1:2:1] | passed | 0.00042 seconds |
322
- ./spec/unit/rspec/matchers/be_compared_to_spec.rb[1:1:3:1] | passed | 0.00047 seconds |
323
- ./spec/unit/rspec/matchers/be_compared_to_spec.rb[1:1:4:1] | passed | 0.00056 seconds |
324
- ./spec/unit/rspec/matchers/be_compared_to_spec.rb[1:1:5:1] | passed | 0.0007 seconds |
325
- ./spec/unit/rspec/matchers/be_compared_to_spec.rb[1:1:6:1] | passed | 0.00045 seconds |
326
- ./spec/unit/rspec/matchers/be_compared_to_spec.rb[1:1:7:1] | passed | 0.00044 seconds |
327
- ./spec/unit/rspec/matchers/be_falsey_spec.rb[1:1:1] | passed | 0.00054 seconds |
328
- ./spec/unit/rspec/matchers/be_nil_spec.rb[1:1:1] | passed | 0.00054 seconds |
329
- ./spec/unit/rspec/matchers/be_predicate_spec.rb[1:1:1] | passed | 0.00047 seconds |
330
- ./spec/unit/rspec/matchers/be_predicate_spec.rb[2:1:1] | passed | 0.00291 seconds |
331
- ./spec/unit/rspec/matchers/be_predicate_spec.rb[3:1:1] | passed | 0.00039 seconds |
332
- ./spec/unit/rspec/matchers/be_spec.rb[1:1:1:1] | passed | 0.00049 seconds |
333
- ./spec/unit/rspec/matchers/be_spec.rb[1:1:2:1] | passed | 0.008 seconds |
334
- ./spec/unit/rspec/matchers/be_truthy_spec.rb[1:1:1] | passed | 0.00033 seconds |
335
- ./spec/unit/rspec/matchers/contain_exactly_spec.rb[1:1:1] | passed | 0.00452 seconds |
336
- ./spec/unit/rspec/matchers/eq_spec.rb[1:1:1] | passed | 0.01077 seconds |
337
- ./spec/unit/rspec/matchers/have_attributes_spec.rb[1:1:1] | passed | 0.00118 seconds |
338
- ./spec/unit/rspec/matchers/include_spec.rb[1:1:1:1] | passed | 0.00044 seconds |
339
- ./spec/unit/rspec/matchers/include_spec.rb[1:1:2:1] | passed | 0.00061 seconds |
340
- ./spec/unit/rspec/matchers/match_spec.rb[1:1:1] | passed | 0.00781 seconds |
341
- ./spec/unit/rspec/matchers/raise_error_spec.rb[1:1:1:1] | passed | 0.00219 seconds |
342
- ./spec/unit/rspec/matchers/raise_error_spec.rb[1:1:2:1] | passed | 0.00024 seconds |
343
- ./spec/unit/rspec/matchers/raise_error_spec.rb[1:1:3:1] | passed | 0.00029 seconds |
344
- ./spec/unit/rspec/matchers/respond_to_spec.rb[1:1:1:1] | passed | 0.00052 seconds |
345
- ./spec/unit/rspec/matchers/respond_to_spec.rb[1:1:2:1] | passed | 0.00058 seconds |
346
- ./spec/unit/rspec/matchers/respond_to_spec.rb[1:1:3:1] | passed | 0.00118 seconds |
347
- ./spec/unit/rspec/matchers/respond_to_spec.rb[1:1:4:1] | passed | 0.00058 seconds |
348
- ./spec/unit/rspec/matchers/respond_to_spec.rb[1:1:5:1] | passed | 0.00085 seconds |
349
- ./spec/unit/rspec/matchers/respond_to_spec.rb[1:1:6:1] | passed | 0.00162 seconds |
350
- ./spec/unit/rspec/matchers/respond_to_spec.rb[1:1:7:1] | passed | 0.00101 seconds |
1
+ example_id | status | run_time |
2
+ ---------------------------------------------------------- | ------ | -------------- |
3
+ ./spec/integration/rspec/unhandled_errors_spec.rb[1:1:1:1] | passed | 1.28 seconds |
4
+ ./spec/integration/rspec/unhandled_errors_spec.rb[1:1:2:1] | passed | 1.31 seconds |
5
+ ./spec/integration/rspec/unhandled_errors_spec.rb[1:2:1] | failed | 0.7241 seconds |