# File lib/rspec-puppet/coverage.rb, line 70
    def report!
      report = {}

      report[:total] = @collection.size
      report[:touched] = @collection.count { |_, resource| resource.touched? }
      report[:untouched] = report[:total] - report[:touched]
      report[:coverage] = sprintf("%5.2f", ((report[:touched].to_f/report[:total].to_f)*100))

      report[:detailed] = Hash[*@collection.map do |name, wrapper|
        [name, wrapper.to_hash]
      end.flatten]

      puts "\nTotal resources:   \#{report[:total]}\nTouched resources: \#{report[:touched]}\nResource coverage: \#{report[:coverage]}%\n".gsub(/^ {8}/, '')

      if report[:coverage] != "100.00"
        puts "Untouched resources:\n\n\#{\nuntouched_resources = report[:detailed].reject do |_,rsrc|\nrsrc[\"touched\"]\nend\nuntouched_resources.inject([]) do |memo, (name,_)|\nmemo << \"  \#{name}\"\nend.sort.join(\"\\n\")\n}\n".gsub(/^ {10}/, '')
      end

    end