Class: OmniAgent::Eval::Report
- Inherits:
-
Object
- Object
- OmniAgent::Eval::Report
- Defined in:
- lib/omni_agent/eval/report.rb
Instance Attribute Summary collapse
-
#case_results ⇒ Object
readonly
Returns the value of attribute case_results.
Instance Method Summary collapse
-
#initialize(case_results) ⇒ Report
constructor
A new instance of Report.
- #passed? ⇒ Boolean
- #print(io: $stdout) ⇒ Object
- #raise_on_failure! ⇒ Object
Constructor Details
#initialize(case_results) ⇒ Report
Returns a new instance of Report.
6 7 8 |
# File 'lib/omni_agent/eval/report.rb', line 6 def initialize(case_results) @case_results = case_results end |
Instance Attribute Details
#case_results ⇒ Object (readonly)
Returns the value of attribute case_results.
4 5 6 |
# File 'lib/omni_agent/eval/report.rb', line 4 def case_results @case_results end |
Instance Method Details
#passed? ⇒ Boolean
10 11 12 |
# File 'lib/omni_agent/eval/report.rb', line 10 def passed? case_results.all?(&:passed?) end |
#print(io: $stdout) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/omni_agent/eval/report.rb', line 21 def print(io: $stdout) case_results.each do |case_result| status = case_result.passed? ? "PASS" : "FAIL" io.puts "[#{status}] #{case_result.case_name}" case_result.outcomes.each do |outcome| next if outcome.passed? io.puts " - #{outcome.}" end end passed_count = case_results.count(&:passed?) io.puts "\n#{passed_count}/#{case_results.size} cases passed" end |
#raise_on_failure! ⇒ Object
14 15 16 17 18 19 |
# File 'lib/omni_agent/eval/report.rb', line 14 def raise_on_failure! return if passed? failures = case_results.reject(&:passed?).map(&:case_name) raise OmniAgent::EvalAssertionError, "Eval cases failed: #{failures.join(', ')}" end |