class Mocha::ReturnValues

def self.build(*values)

def self.build(*values)
  new(*values.map { |value| SingleReturnValue.new(value) })
end

def +(other)

def +(other)
  self.class.new(*(@values + other.values))
end

def initialize(*values)

def initialize(*values)
  @values = values
end

def next(invocation)

def next(invocation)
  case @values.length
  when 0 then nil
  when 1 then @values.first.evaluate(invocation)
  else @values.shift.evaluate(invocation)
  end
end