DynamicRChecker (Jack2): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 11: | Zeile 11: | ||
** '''testcase:''' Innerhalb dieses Tags ist der entsprechende Testfall zu definieren. | ** '''testcase:''' Innerhalb dieses Tags ist der entsprechende Testfall zu definieren. | ||
*** '''feedback:''' | *** '''feedback:''' | ||
*** '''postprocessingFunction (optional):''' Wird eine postprocess-Funktion benötigt, so ist hier der Name | *** '''postprocessingFunction (optional):''' Wird eine postprocess-Funktion benötigt, so ist hier postprocess (= der Name der Funktion) einzutragen | ||
*** '''input:''' | *** '''input:''' | ||
*** '''penalty:''' | *** '''penalty:''' |
Version vom 5. September 2017, 10:53 Uhr
Beschreibung
Die Tags der DynamicChecker-Datei
- metaInf:
- numberOfInputArgs:
- outputType:
- preCode:
- postCode:
- testcases: Hier können verschiedene Testfälle
- testcase: Innerhalb dieses Tags ist der entsprechende Testfall zu definieren.
- feedback:
- postprocessingFunction (optional): Wird eine postprocess-Funktion benötigt, so ist hier postprocess (= der Name der Funktion) einzutragen
- input:
- penalty:
- expectedOutput:
- errorFeedback: Hier kann ggf. Feedback angegeben werden, wenn die eingereichte Lösung des Studierenden als falsch evaluiert wird.
- ...
- testcase: Innerhalb dieses Tags ist der entsprechende Testfall zu definieren.
Beispiel
Im vorliegenden Beispiel wird exemplarisch eine postprocess-Funktion definiert. Diese wählt den ersten Eintrag des vom Studierenden übergebenden R-Objekts aus, wandelt es in die Klasse numeric um und rundet es auf den ganzzahligen Teil herunter.
XML-Datei
<?xml version="1.0" encoding="iso-8859-1"?>
<checkerconfiguration>
<metaInf>
<numberOfInputArgs>1</numberOfInputArgs>
<outputType>double</outputType>
<preCode>testFunc <- function(){</preCode>
<postCode>}
postprocess <- function(w){
round(as.numeric(w[1]))
}</postCode>
</metaInf>
<testcases>
<testcase>
<feedback></feedback>
<postprocessingFunction>postprocess</postprocessingFunction>
<input></input>
<penalty>100</penalty>
<expectedOutput>1</expectedOutput>
<errorFeedback>Leider nicht richtig!</errorFeedback>
</testcase>
</testcases>
</checkerconfiguration>