DynamicRChecker (Jack2): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 14: | Zeile 14: | ||
*** '''input:''' | *** '''input:''' | ||
*** '''penalty:''' | *** '''penalty:''' | ||
*** '''expectedOutput:''' | *** '''expectedOutput:''' Hier sollte der R-Code hinterlegt werden, der genau den R-Output ausgibt, der vom Studierenden erwartet wird. Innerhalb des Codes können auch Zufallszahlen, die in der exercise-Datei definiert wurden, verwendet werden. | ||
*** '''errorFeedback:''' Hier kann ggf. Feedback angegeben werden, wenn die eingereichte Lösung des Studierenden als falsch evaluiert wird. | *** '''errorFeedback:''' Hier kann ggf. Feedback angegeben werden, wenn die eingereichte Lösung des Studierenden als falsch evaluiert wird. | ||
** '''...''' | ** '''...''' |
Version vom 5. September 2017, 10:59 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: Hier sollte der R-Code hinterlegt werden, der genau den R-Output ausgibt, der vom Studierenden erwartet wird. Innerhalb des Codes können auch Zufallszahlen, die in der exercise-Datei definiert wurden, verwendet werden.
- 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>