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')
예제 #3
0
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
예제 #6
0
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')
예제 #7
0
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)