def load_grader_meta_data(directory=''): part_data = {} try: with open(directory+'_coursera', 'r') as metadata_file: url = metadata_file.readline().strip() name = metadata_file.readline().strip() for line in metadata_file.readlines(): if ',' in line: line_parts = line.split(',') line_parts = [x.strip() for x in line_parts] assert(len(line_parts) == 4) part = Part(*line_parts) part_data[part.id] = part except Exception as e: print('problem parsing assignment metadata file') print('exception message:') print(e) quit() try: with open(directory+'_metadata_grader', 'r') as grader_metadata_file: sense = int(grader_metadata_file.readline().strip()) quality_data = {} for line in grader_metadata_file.readlines(): line_parts = line.split(',') line_parts = [x.strip() for x in line_parts] assert(len(line_parts) == 3) line_parts[1] = int(line_parts[1]) line_parts[2] = int(line_parts[2]) quality = PartQuality(*line_parts) quality_data[quality.id] = quality except Exception as e: print('problem parsing grader metadata file') print('exception message:') print(e) quit() assert(len(part_data) == len(quality_data)); return GraderMetadata(url, name, sense, part_data, quality_data)
import sys, os, pytest sys.path.append(os.getcwd()) from do_grader_lib import PartQuality from vrp import grader with open('vrp/data/vrp_5_4_1', 'r') as input_data_file: input_data = input_data_file.read() quality = PartQuality('test', 81, 69) greedy_submission = '80.6 0\n0 1 2 3 0\n0 4 0\n0 0\n0 0\n123\n' opt_submission = '68.3 0\n0 1 2 0\n0 3 4 0\n0 0\n0 0\n123\n' # Score Test def test_full_credit(): result = grader.grade(input_data, quality, opt_submission) assert (result['score'] == 1.0) def test_full_credit_opt(): result = grader.grade(input_data, quality, '68.3 1\n0 0\n0 0\n0 1 2 0\n0 3 4 0\n123\n') assert (result['score'] == 1.0) def test_full_credit_opt_big(): result = grader.grade(input_data, quality, '68.3 99\n0 0\n0 0\n0 1 2 0\n0 3 4 0\n123\n')
import sys, os, pytest sys.path.append(os.getcwd()) from do_grader_lib import PartQuality from coloring import grader with open('coloring/data/gc_4_1', 'r') as input_data_file: input_data = input_data_file.read() quality = PartQuality('test', 3, 2) greedy_submission = '3 0\n0 1 2 2\n123\n' opt_submission = '2 0\n1 2 1 1\n123\n' # Score Test def test_full_credit(): result = grader.grade(input_data, quality, opt_submission) assert (result['score'] == 1.0) def test_full_credit_opt(): result = grader.grade(input_data, quality, '2 1\n1 2 1 1\n123\n') assert (result['score'] == 1.0) def test_full_credit_opt_big(): result = grader.grade(input_data, quality, '2 99\n1 2 1 1\n123\n') assert (result['score'] == 1.0)
import sys, os, pytest sys.path.append(os.getcwd()) from do_grader_lib import PartQuality from knapsack import grader with open('knapsack/data/ks_4_0', 'r') as input_data_file: input_data = input_data_file.read() quality = PartQuality('test', 18, 19) greedy_submission = '18 0\n1 1 0 0\n123\n' opt_submission = '19 0\n0 0 1 1\n123\n' # Score Test def test_full_credit(): result = grader.grade(input_data, quality, opt_submission) assert (result['score'] == 1.0) def test_full_credit_opt(): result = grader.grade(input_data, quality, '19 1\n0 0 1 1\n123\n') assert (result['score'] == 1.0) def test_full_credit_opt_big(): result = grader.grade(input_data, quality, '19 99\n0 0 1 1\n123\n') assert (result['score'] == 1.0)
import sys, os, pytest sys.path.append(os.getcwd()) from do_grader_lib import PartQuality from anyint import grader input_data = '' quality = PartQuality('test', 7, 10) greedy_submission = '7\n123\n' opt_submission = '10\n123\n' # Score Test def test_full_credit(): result = grader.grade(input_data, quality, opt_submission) assert (result['score'] == 1.0) def test_partial_credit(): result = grader.grade(input_data, quality, greedy_submission) assert (result['score'] == 0.7) def test_feasible_credit(): result = grader.grade(input_data, quality, '5\n123\n') assert (result['score'] == 0.3) # Constraint Tests
import sys, os, pytest sys.path.append(os.getcwd()) from do_grader_lib import PartQuality from tsp import grader with open('tsp/data/tsp_5_1', 'r') as input_data_file: input_data = input_data_file.read() quality = PartQuality('test', 5, 4) greedy_submission = '4.8 0\n0 1 2 4 3\n123\n' opt_submission = '4.0 0\n0 1 2 3 4\n123\n' # Score Test def test_full_credit(): result = grader.grade(input_data, quality, opt_submission) assert(result['score'] == 1.0) def test_full_credit_opt(): result = grader.grade(input_data, quality, '4.0 1\n0 1 2 3 4\n123\n') assert(result['score'] == 1.0) def test_full_credit_opt_big(): result = grader.grade(input_data, quality, '4.0 99\n0 1 2 3 4\n123\n') assert(result['score'] == 1.0) def test_full_credit_opt_neg(): result = grader.grade(input_data, quality, '4.0 -99\n0 1 2 3 4\n123\n')
import sys, os, pytest sys.path.append(os.getcwd()) from do_grader_lib import PartQuality from facility import grader with open('facility/data/fl_3_1', 'r') as input_data_file: input_data = input_data_file.read() quality = PartQuality('test', 4052, 2546) greedy_submission = '2550.013 0\n1 1 0 2\n123\n' opt_submission = '2545.771 0\n0 0 1 2\n123\n' # Score Test def test_full_credit(): result = grader.grade(input_data, quality, opt_submission) assert (result['score'] == 1.0) def test_full_credit_opt(): result = grader.grade(input_data, quality, '2545.771 1\n0 0 1 2\n123\n') assert (result['score'] == 1.0) def test_full_credit_opt_big(): result = grader.grade(input_data, quality, '2545.771 99\n0 0 1 2\n123\n') assert (result['score'] == 1.0)