DynamicRChecker (Jack2)

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

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: Die Anzahl an Punkten, die beim falschen Lösen der Aufgabe abgezogen werden sollen.
      • expectedOutput: Hier sollte der R-Code hinterlegt werden, der genau den R-Output ausgibt, der vom Studierenden erwartet wird. Es können auch Zufallszahlen, die in der exercise-Datei definiert wurden, innerhalb dessen verwendet werden.
      • errorFeedback: Hier kann ggf. Feedback angegeben werden, wenn die eingereichte Lösung des Studierenden als falsch evaluiert wird.
    • ...

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 &lt;- function(){</preCode>
    <postCode>}
		postprocess &lt;- 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>