grading-procs.tcl

Test Item grading procs - support for different kind of grading types and schemes.

This file defines the following Objects and Classes: ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::round-percentage[i], ::xowf::test_item::grading::round-points[i], ::xowf::test_item::grading::round-none[i], ::xowf::test_item::grading::none[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::Grading[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::GradingRoundNone[i], ::xowf::test_item::grading::GradingRoundPercentage[i], ::xowf::test_item::grading::GradingRoundPoints[i], ::xowf::test_item::grading::Grading[i]

Location:
packages/xowf/tcl/grading-procs.tcl
Author:
Gustaf Neumann

Procedures in this file

Detailed information

Class ::xowf::test_item::grading::Grading (public)

 ::nx::Class ::xowf::test_item::grading::Grading[i]

Superclass representing a generic grading

Testcases:
No testcase defined.

Class ::xowf::test_item::grading::GradingNone (public)

 ::nx::Class ::xowf::test_item::grading::GradingNone[i]

Grading scheme, which omits grading at all.

Testcases:
No testcase defined.

Class ::xowf::test_item::grading::GradingRoundNone (public)

 ::nx::Class ::xowf::test_item::grading::GradingRoundNone[i]

Implements a grading with no special rounding.

Testcases:
No testcase defined.

Class ::xowf::test_item::grading::GradingRoundPercentage (public)

 ::nx::Class ::xowf::test_item::grading::GradingRoundPercentage[i]

Implements a grading expressed as a rounded percentage

Testcases:
No testcase defined.

Class ::xowf::test_item::grading::GradingRoundPoints (public)

 ::nx::Class ::xowf::test_item::grading::GradingRoundPoints[i]

Implements a grading expressed as a rounded number of points

Testcases:
No testcase defined.

xowf::test_item::grading::Grading method calc_grade (protected)

 <instance of xowf::test_item::grading::Grading[i]> calc_grade \
    [ -percentage percentage ] [ -points points ] \
    [ -achievable_points achievable_points ]

Return a numeric grade for an exam submission based on percentage and the property "percentage_mapping". On invalid data, return 0. When "-percentage" is provided, use this for calculation Otherwise calculate percentage based on "-points" (which might be custom rounded) and "-achievable_points".

Switches:
-percentage (optional)
-points (optional)
-achievable_points (optional)

Testcases:
No testcase defined.

xowf::test_item::grading::Grading method init (protected)

 <instance of xowf::test_item::grading::Grading[i]> init

Provide a default, self-descriptive title

Testcases:
No testcase defined.

xowf::test_item::grading::GradingRoundNone method grade (public)

 <instance of xowf::test_item::grading::GradingRoundNone[i]> grade \
    -achieved_points achieved_points 

Return a numeric grade for an exam submission based with no special rounding (2 digits). On invalid data, return 0.

Switches:
-achieved_points (required)

Testcases:
No testcase defined.

xowf::test_item::grading::GradingRoundPercentage method grade (public)

 <instance of xowf::test_item::grading::GradingRoundPercentage[i]> grade \
    -achieved_points achieved_points 

Return a numeric grade for an exam submission based on rounded percentage. On invalid data, return 0.

Switches:
-achieved_points (required)

Testcases:
No testcase defined.

xowf::test_item::grading::GradingRoundPoints method grade (public)

 <instance of xowf::test_item::grading::GradingRoundPoints[i]> grade \
    -achieved_points achieved_points 

Return a numeric grade for an exam submission based on rounded points. On invalid data, return 0.

Switches:
-achieved_points (required)

Testcases:
No testcase defined.

xowf::test_item::grading::flush_grading_schemes (private)

 xowf::test_item::grading::flush_grading_schemes -package_id package_id \
    -parent_id parent_id

Helper to hide the implementation details of the flushed cache. For now, we flush all grading schemes, but probably it would be sufficient to flush just a subset. The tricky part is that the grading objects are loaded potentially from the foll search hierarchy, starting with the local folder, reaching to the global objects. So, if anything is changed there, we would not notice immediately. Therefore, the passed-in package_id and parent_id are not used currently. This function is called, whenever a grading scheme is edited.

Switches:
-package_id (required)
-parent_id (required)

Partial Call Graph (max 5 caller/called nodes):
%3

Testcases:
No testcase defined.

xowf::test_item::grading::grading_scheme_wf_item_id (private)

 xowf::test_item::grading::grading_scheme_wf_item_id \
    -package_id package_id -parent_id parent_id

Return and cache the item_id of the edit-grading-scheme.wf. Maybe, we should generalize this function for other cases as well, therefore, we make this for the time being private.

Switches:
-package_id (required)
-parent_id (required)

Partial Call Graph (max 5 caller/called nodes):
%3 xowf::test_item::grading::load_grading_schemes xowf::test_item::grading::load_grading_schemes (public) xowf::test_item::grading::grading_scheme_wf_item_id xowf::test_item::grading::grading_scheme_wf_item_id xowf::test_item::grading::load_grading_schemes->xowf::test_item::grading::grading_scheme_wf_item_id

Testcases:
No testcase defined.

xowf::test_item::grading::load_grading_schemes (public)

 xowf::test_item::grading::load_grading_schemes -package_id package_id \
    -parent_id parent_id

Load the actual grading scheme objects defined for the package_id and parent_id. It might be the case that this function is called multiple times by a single request (when e.g. multiple exams are on a single page). So we are caching the result to avoid repeated computations of the same result.

Switches:
-package_id (required)
-parent_id (required)

Partial Call Graph (max 5 caller/called nodes):
%3 xowf::test_item::Answer_manager instproc grading_scheme xowf::test_item::Answer_manager instproc grading_scheme (public) xowf::test_item::grading::load_grading_schemes xowf::test_item::grading::load_grading_schemes xowf::test_item::Answer_manager instproc grading_scheme->xowf::test_item::grading::load_grading_schemes xowf::test_item::grading::grading_scheme_wf_item_id xowf::test_item::grading::grading_scheme_wf_item_id (private) xowf::test_item::grading::load_grading_schemes->xowf::test_item::grading::grading_scheme_wf_item_id

Testcases:
No testcase defined.
[ show source ]