grading
Version:
Grading of student submissions, in particular programming tests.
39 lines • 1.18 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.preconditionText = exports.gradingText = exports.readGradingSchema = void 0;
const cliUtil_1 = require("../cli/cliUtil");
async function readGradingSchema(schemaFile) {
const gradingSchema = await (0, cliUtil_1.parseJsonWithComments)(schemaFile);
// post processing
gradingSchema.tasks.forEach(task => {
if (!task.grading) {
task.grading = [];
}
});
return gradingSchema;
}
exports.readGradingSchema = readGradingSchema;
/**
* If not provided, text of first test is used.
*/
function gradingText(grading) {
if (grading.text) {
return grading.text;
}
if (grading.tests.length > 0) {
return grading.tests[0];
}
throw new Error("Grading does not define any tests (and no text).");
}
exports.gradingText = gradingText;
/**
* If not provided, text of first test is used.
*/
function preconditionText(precondition) {
if (precondition.failure) {
return precondition.failure;
}
return precondition.test;
}
exports.preconditionText = preconditionText;
//# sourceMappingURL=gradingschema.js.map
;