class Tryouts::Drill

def report

def report
  return if skip?
  out = StringIO.new
  
  @dreams.each do |dream|
    next if dream == reality #? :normal : :red 
    out.puts '%12s: %s'.color(@clr) % ["failed", dream.test_to_string(@reality)]
    out.puts '%12s: %s' % ["drill", @reality.comparison_value(dream).inspect]
    out.puts '%12s: %s' % ["dream", dream.comparison_value.inspect]
    out.puts
  end
  
  unless @reality.error.nil?
    out.puts '%14s: %s' % [@reality.etype, @reality.error.to_s.split($/).join($/ + ' '*16)]
  end
  unless @reality.trace.nil?
    trace = Tryouts.verbose > 1 ? @reality.trace : [@reality.trace.first]
    out.puts '%14s  %s' % ['', trace.join($/ + ' '*16)]
    out.puts
  end
  
  out.rewind
  out.read
end