class Mocha::Cardinality

def anticipated_times

rubocop:disable Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity
def anticipated_times
  if allowed_any_number_of_times?
    'allowed any number of times'
  elsif required.zero? && maximum.zero?
    "expected #{count(maximum)}"
  elsif required == maximum
    "expected exactly #{count(required)}"
  elsif infinite?(maximum)
    "expected at least #{count(required)}"
  elsif required.zero?
    "expected at most #{count(maximum)}"
  else
    "expected between #{required} and #{count(maximum)}"
  end
end