20 lines
484 B
Ruby
20 lines
484 B
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec::Matchers.define :have_queue_contents do |*expected|
|
|
match do |queue|
|
|
@actual = []
|
|
@actual << queue.pop(true) until queue.empty?
|
|
@actual == expected
|
|
rescue ThreadError
|
|
@actual == expected
|
|
end
|
|
|
|
failure_message do
|
|
"expected queue to have contents #{expected.inspect}, but got #{@actual.inspect}"
|
|
end
|
|
|
|
failure_message_when_negated do
|
|
"expected queue not to have contents #{expected.inspect}, but it did"
|
|
end
|
|
end
|