class Proof::Summary

Constants

ERROR_PATTERN
FAIL_PATTERN
PASS_PATTERN

Public Class Methods

output(results, output) click to toggle source
# File lib/proof/summary.rb, line 11
def self.output(results, output)
  instance = new results, output
  instance.output
  instance.status
end

Public Instance Methods

any_failures?() click to toggle source
# File lib/proof/summary.rb, line 43
def any_failures?
  [fails.count, errors.count].any? { |count| count > 0 }
end
any_successes?() click to toggle source
# File lib/proof/summary.rb, line 47
def any_successes?
  [fails.count, errors.count].any? { |count| count > 0 }
end
errors() click to toggle source
# File lib/proof/summary.rb, line 25
def errors
  results.grep ERROR_PATTERN
end
fails() click to toggle source
# File lib/proof/summary.rb, line 21
def fails
  results.grep FAIL_PATTERN
end
no_results?() click to toggle source
# File lib/proof/summary.rb, line 39
def no_results?
  [passes.count, fails.count, errors.count].all? { |count| count == 0 }
end
output() click to toggle source
# File lib/proof/summary.rb, line 57
def output
  @the_output.summary summary
end
passes() click to toggle source
# File lib/proof/summary.rb, line 17
def passes
  results.grep PASS_PATTERN
end
status() click to toggle source
# File lib/proof/summary.rb, line 29
def status
  if no_results? or any_failures?
    @status = :failure
  else any_successes?
    @status = :success
  end

  @status
end
summary() click to toggle source
# File lib/proof/summary.rb, line 51
def summary
  "Passed: #{passes.count}\n" \
  "Failed: #{fails.count}\n" \
  "Errors: #{errors.count}\n"
end