class UICov::ScreenData
Attributes
actions[R]
checks[R]
elements[R]
transitions[R]
Public Class Methods
new(name)
click to toggle source
# File lib/uicov/coverage/screen_data.rb, line 8 def initialize(name) @name = name @hits = 0 @elements = {} @transitions = {} @actions = {} @checks = {} end
Public Instance Methods
add_action(name)
click to toggle source
# File lib/uicov/coverage/screen_data.rb, line 30 def add_action(name) actions[name] ||= ActionData.new name end
add_check(name)
click to toggle source
# File lib/uicov/coverage/screen_data.rb, line 38 def add_check(name) checks[name] ||= CheckData.new name end
add_covered_action(name)
click to toggle source
# File lib/uicov/coverage/screen_data.rb, line 34 def add_covered_action(name) add_action(name).hit end
add_covered_check(name)
click to toggle source
# File lib/uicov/coverage/screen_data.rb, line 42 def add_covered_check(name) add_check(name).hit end
add_covered_element(name)
click to toggle source
# File lib/uicov/coverage/screen_data.rb, line 50 def add_covered_element(name) add_element(name).hit end
add_covered_transition(name, to)
click to toggle source
# File lib/uicov/coverage/screen_data.rb, line 26 def add_covered_transition(name, to) add_transition(name, to).hit end
add_element(name)
click to toggle source
# File lib/uicov/coverage/screen_data.rb, line 46 def add_element(name) elements[name] ||= ElementData.new name end
add_transition(name, to)
click to toggle source
# File lib/uicov/coverage/screen_data.rb, line 21 def add_transition(name, to) tr_key = TransitionData.get_key(name, to) transitions[tr_key] ||= TransitionData.new name, to end
get_count(members_name, hitted=false)
click to toggle source
# File lib/uicov/coverage/screen_data.rb, line 78 def get_count(members_name, hitted=false) members = instance_variable_get("@#{members_name}") if hitted members.values.keep_if{ |e| 0 < e.hits}.size else members.size end end
get_coverage(members_name)
click to toggle source
# File lib/uicov/coverage/screen_data.rb, line 71 def get_coverage(members_name) members = instance_variable_get("@#{members_name}") uncovered = members.values.select{|e| e.hits == 0} cov = ((members.size.to_f - uncovered.size) / members.size) * 100 return cov.nan? ? 100.0 : cov.round(2) end
hit()
click to toggle source
# File lib/uicov/coverage/screen_data.rb, line 17 def hit @hits += 1 end
report()
click to toggle source
# File lib/uicov/coverage/screen_data.rb, line 54 def report %Q^ <h2>Screen: <span>#{@name}</span></h2> <h3>Coverage summary</h3> #{report_members_summary 'elements' unless elements.empty?} #{report_members_summary 'transitions' unless transitions.empty?} #{report_members_summary 'actions' unless actions.empty?} #{report_members_summary 'checks' unless checks.empty?} <h3>Coverage details</h3> #{report_members 'elements' unless elements.empty?} #{report_members 'transitions' unless transitions.empty?} #{report_members 'actions' unless actions.empty?} #{report_members 'checks' unless checks.empty?} <hr/> ^ end
Private Instance Methods
report_members(members_name)
click to toggle source
# File lib/uicov/coverage/screen_data.rb, line 88 def report_members(members_name) members = instance_variable_get("@#{members_name}") %Q^ <table class='covtable' width='25%'> <thead><caption>#{members_name.capitalize}:</caption></thead> <tbody> <tr><th>Name</th><th>Hits</th></tr> #{members.values.map{|e| "<tr><td class='namecol'>#{e.display_name}</td><td>#{e.hits}</td></tr>"}.join("\n") } </tbody> </table> <br/> ^ end
report_members_summary(members_name)
click to toggle source
# File lib/uicov/coverage/screen_data.rb, line 102 def report_members_summary(members_name) coverage = get_coverage members_name %Q^ <div>#{members_name.capitalize}: #{coverage}%</div> ^ end