diff --git a/app/models/test_pair.rb b/app/models/test_pair.rb --- a/app/models/test_pair.rb +++ b/app/models/test_pair.rb @@ -5,4 +5,29 @@ return TestPair.where(:problem_id => problem.id, :is_private => is_private).first end + + def grade(output) + out_items = output.split("\n") + sol_items = solution.split("\n") + res = '' + f = 0 + s = 0 + sol_items.length.times do |i| + f += 1 + si = sol_items[i].chomp + if out_items[i] + oi = out_items[i].chomp + else + oi = '' + end + if oi == si + res = res + 'P' + s += 1 + else + res = res + '-' + end + end + return { :score => s, :full_score => f, :msg => res } + end + end