class AtCoderFriends::TestRunner::Sample

run test cases for the specified program with sample input/output.

Attributes

data_dir[R]

Public Class Methods

new(ctx) click to toggle source
Calls superclass method AtCoderFriends::TestRunner::Base::new
# File lib/at_coder_friends/test_runner/sample.rb, line 9
def initialize(ctx)
  super(ctx)
  @data_dir = ctx.path_info.smp_dir
end

Public Instance Methods

test(id) click to toggle source
# File lib/at_coder_friends/test_runner/sample.rb, line 28
def test(id)
  id = format('%<q>s_%<id>s', q: q, id: id)
  files = %w[in out exp].map { |ext| "#{data_dir}/#{id}.#{ext}" }
  run_test(id, *files)
end
test_all() click to toggle source
# File lib/at_coder_friends/test_runner/sample.rb, line 14
def test_all
  puts "***** test_all #{prg} (#{test_loc}) *****"
  results = Dir["#{data_dir}/#{q}_*.in"].sort.map do |infile|
    id = File.basename(infile, '.in').sub(/\A#{q}_/, '')
    test(id)
  end
  !results.empty? && results.all?
end
test_one(id) click to toggle source
# File lib/at_coder_friends/test_runner/sample.rb, line 23
def test_one(id)
  puts "***** test_one #{prg} (#{test_loc}) *****"
  test(id)
end