DynamicRChecker (Jack2): Unterschied zwischen den Versionen

Aus JACK Wiki
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 dieser Funktion anzugeben, also postprocess.
*** '''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.
    • ...

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>