Class: QueenCheck::ResultReport
- Inherits:
-
Array
- Object
- Array
- QueenCheck::ResultReport
- Defined in:
- lib/queencheck/result.rb
Instance Method Summary collapse
- #count(label = :all, list = self) ⇒ Object
- #exceptions ⇒ Object
- #failures ⇒ Object
-
#initialize(*args) ⇒ ResultReport
constructor
A new instance of ResultReport.
- #labeling(label, &block) ⇒ Object
- #pretty_report ⇒ Object
- #report(with_label = true) ⇒ Object
- #report_label ⇒ Object
- #successes ⇒ Object
Constructor Details
#initialize(*args) ⇒ ResultReport
Returns a new instance of ResultReport.
24 25 26 27 |
# File 'lib/queencheck/result.rb', line 24 def initialize(*args) super(*args) @labels = {} end |
Instance Method Details
#count(label = :all, list = self) ⇒ Object
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/queencheck/result.rb', line 73 def count(label = :all, list = self) case label when :all, :tests self.size when :success, :successes self.successes.size when :failure, :failures self.failures.size when :exception, :exceptions self.exceptions.size else raise ArgumentError, "`#{label}` is not valid label" if !@labels.has_key?(label) list.reject {|result| !@labels[label].call(*result.properties) }.size end end |
#exceptions ⇒ Object
103 104 105 |
# File 'lib/queencheck/result.rb', line 103 def exceptions self.reject{|result| !result.is_exception? } end |
#failures ⇒ Object
99 100 101 |
# File 'lib/queencheck/result.rb', line 99 def failures self.reject{|result| result.is_success? } end |
#labeling(label, &block) ⇒ Object
91 92 93 |
# File 'lib/queencheck/result.rb', line 91 def labeling(label, &block) @labels[label] = block end |
#pretty_report ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/queencheck/result.rb', line 29 def pretty_report justify = count(:all).to_s.size label_justify = @labels.keys.map{|label| label.size}.max [ "Tests: ".green + count(:all).to_s.colorize(count(:all) == count(:success) ? :green : :red), " ✓ Successes : #{count(:success).to_s.rjust(justify)}#{ (@labels.empty? ? '' : "\n") + @labels.keys.map { |label| " #{label.ljust(label_justify)} : #{count(label, successes).to_s.rjust(justify)}" }.join("\n") }".green, " ✗ Failures : #{count(:failures).to_s.rjust(justify)}#{ (@labels.empty? ? '' : "\n") + @labels.keys.map { |label| " #{label.ljust(label_justify)} : #{count(label, failures).to_s.rjust(justify)}" }.join("\n") }".yellow, " ✷ Exceptions : #{count(:exception).to_s.rjust(justify)}#{ (@labels.empty? ? '' : "\n") + @labels.keys.map { |label| " #{label.ljust(label_justify)} : #{count(label, exceptions).to_s.rjust(justify)}" }.join("\n") }".red ].join("\n") end |
#report(with_label = true) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/queencheck/result.rb', line 52 def report(with_label = true) [ ["tests", count(:all)], ["success", count(:success)], ["failure", count(:failure)], ["exception", count(:exception)] ] + ( if with_label report_label else [] end ) end |
#report_label ⇒ Object
67 68 69 70 71 |
# File 'lib/queencheck/result.rb', line 67 def report_label @labels.keys.map { | label | [label, count(label)] } end |
#successes ⇒ Object
95 96 97 |
# File 'lib/queencheck/result.rb', line 95 def successes self.reject{|result| result.is_failure? } end |