Class: ObjectProtocol::UnorderedMessageSequenceExpectation

Inherits:
Object
  • Object
show all
Defined in:
lib/object_protocol/unordered_message_sequence_expectation.rb

Instance Method Summary collapse

Constructor Details

#initialize(protocol:) ⇒ UnorderedMessageSequenceExpectation

Returns a new instance of UnorderedMessageSequenceExpectation.



5
6
7
# File 'lib/object_protocol/unordered_message_sequence_expectation.rb', line 5

def initialize(protocol:)
  @protocol = protocol
end

Instance Method Details

#expectationsObject



9
10
11
# File 'lib/object_protocol/unordered_message_sequence_expectation.rb', line 9

def expectations
  @expectations ||= []
end

#to_rspec_matcher_failure_message_linesObject



13
14
15
16
17
18
# File 'lib/object_protocol/unordered_message_sequence_expectation.rb', line 13

def to_rspec_matcher_failure_message_lines
  [
    "in_any_order",
    *expectations.flat_map(&:to_rspec_matcher_failure_message_lines).map(&"  ".method(:+)),
  ]
end

#to_satisfiableObject



20
21
22
23
24
25
# File 'lib/object_protocol/unordered_message_sequence_expectation.rb', line 20

def to_satisfiable
  SatisfiableUnorderedMessageSequenceExpectation.new(
    protocol:             protocol,
    sequence_expectation: self
  )
end