Class: AISpec::Core::Reporters::Console
- Defined in:
- lib/aispec/core/reporters/console.rb
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods inherited from Base
Constructor Details
This class inherits a constructor from AISpec::Core::Reporters::Base
Instance Method Details
#render ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/aispec/core/reporters/console.rb', line 7 def render contract = results[:contract] stats = results[:statistics] summary = stats.summary output_io.puts "Running #{summary[:total_assertions]} contracts for #{contract.name} (#{results[:provider_name]} / #{results[:model]})...\n\n" results[:runs].each_with_index do |run, idx| output_io.puts "Case ##{idx + 1} (Input: \"#{truncate(run[:input])}\")" if results[:runs].size > 1 run[:assertion_results].each do |ar| status = ar.passed? ? "\e[32mPASS\e[0m" : "\e[31mFAIL\e[0m" output_io.puts " #{status} #{ar.name}: #{ar.}" end output_io.puts "" end output_io.puts "Overall" output_io.puts " Passed: #{summary[:passed_assertions]}/#{summary[:total_assertions]} (#{summary[:success_rate]}%)" output_io.puts " Confidence Interval: ±#{summary[:confidence_interval]}%" output_io.puts " Mean Latency: #{summary[:mean_latency]}ms" output_io.puts " Total Cost: $#{sprintf('%.4f', summary[:total_cost])}" output_io.puts " Average Judge Score: #{summary[:average_judge_score] || 'N/A'}" output_io.puts " Variance: #{summary[:variance]}" output_io.puts " Recommendation: \e[1m#{summary[:recommendation]}\e[0m\n" end |