Class: RSpec::Matchers::BuiltIn::ContainExactly Private
- Inherits:
-
BaseMatcher
- Object
- BaseMatcher
- RSpec::Matchers::BuiltIn::ContainExactly
- Defined in:
- lib/rspec/matchers/built_in/contain_exactly.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
rubocop:disable Metrics/ClassLength
Provides the implementation for contain_exactly
and match_array
.
Not intended to be instantiated directly.
Constant Summary
Constants inherited from BaseMatcher
Instance Method Summary collapse
- #description ⇒ String private
- #failure_message ⇒ String private
- #failure_message_when_negated ⇒ String private
- #matches?(actual) ⇒ Boolean private
Methods inherited from BaseMatcher
#diffable?, #expects_call_stack_jump?, #initialize, #match_unless_raises, #supports_block_expectations?
Methods included from Composable
#===, #and, #description_of, #or, should_enumerate?, surface_descriptions_in, unreadable_io?, #values_match?
Constructor Details
This class inherits a constructor from RSpec::Matchers::BuiltIn::BaseMatcher
Instance Method Details
#description ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
29 30 31 32 |
# File 'lib/rspec/matchers/built_in/contain_exactly.rb', line 29 def description list = EnglishPhrasing.list(surface_descriptions_in(expected)) "contain exactly#{list}" end |
#failure_message ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
11 12 13 14 15 16 17 18 |
# File 'lib/rspec/matchers/built_in/contain_exactly.rb', line 11 def if Array === actual else "expected a collection that can be converted to an array with " \ "`#to_ary` or `#to_a`, but got #{actual_formatted}" end end |
#failure_message_when_negated ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
22 23 24 25 |
# File 'lib/rspec/matchers/built_in/contain_exactly.rb', line 22 def list = EnglishPhrasing.list(surface_descriptions_in(expected)) "expected #{actual_formatted} not to contain exactly#{list}" end |
#matches?(actual) ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
34 35 36 37 38 39 40 |
# File 'lib/rspec/matchers/built_in/contain_exactly.rb', line 34 def matches?(actual) @pairings_maximizer = nil @best_solution = nil @extra_items = nil @missing_items = nil super(actual) end |