Sha256: f889e06a51f71dc7d5f05887d27bc7afd2fea6131d254f9ad9e9a33683283a53
Contents?: true
Size: 925 Bytes
Versions: 10
Compression:
Stored size: 925 Bytes
Contents
# -*- encoding: utf-8 -*- module Coco # Give statistics about an array of lines hit. # # An "array of lines hit" is an array of integers, possibly nil. # Such array is obtain from Coverage.result. # # Each integer represent the state of a source line: # * nil: source line will never be reached (like comments) # * 0: source line could be reached, but was not # * 1 and above: number of time the source line has been reached class CoverageStat def CoverageStat.remove_nil_from hits hits.select {|elem| not elem.nil?} end def CoverageStat.number_of_covered_lines hits hits.select {|elem| elem > 0}.size end def CoverageStat.coverage_percent hits hits = CoverageStat.remove_nil_from hits return 0 if hits.empty? one_percent = 100.0 / hits.size (CoverageStat.number_of_covered_lines(hits) * one_percent).to_i end end end
Version data entries
10 entries across 10 versions & 1 rubygems