Class: OmniAgent::Eval::Report

Inherits:
Object
  • Object
show all
Defined in:
lib/omni_agent/eval/report.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

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_resultsObject (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

Returns:

  • (Boolean)


10
11
12
# File 'lib/omni_agent/eval/report.rb', line 10

def passed?
  case_results.all?(&:passed?)
end


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.message}"
    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