IsEmpty: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(19 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=== Zugehörige Evaluatoren ===
*'''ChemEvaluator'''
*'''MathEvaluator'''
=== Beschreibung ===
=== Beschreibung ===
Die Funktion ''isEmpty'' prüft ob eine gegebene Zeichenkette leer ist, also entweder keine Zeichen oder ausschließlich Leerzeichen beinhaltet. Die Funktion erwartet einen String und gibt einen Boolean zurück.  
Die Funktion ''isEmpty'' prüft ob ein gegebenes Objekt leer ist, also keine Zeichen enthält. Die Funktion erwartet ein Objekt und gibt einen Boolean zurück.  


=== Syntax ===
=== Syntax ===
  isEmpty(String zeichenkette)
  isEmpty([[Objekt]] objekt)


=== Parameter ===
=== Parameter ===
* '''zeichenkette''' - String, der auf leeren Inhalt geprüft wird
* '''objekt''' - [[Objekt]], das auf leeren Inhalt geprüft wird


=== Return Value ===
=== Return Value ===
* Gibt einen Boolean zurück
* Gibt einen [[Boolean]] zurück


=== Beispiele ===
=== Beispiele ===
==== Standardfälle ====
==== Standardfälle ====
  isEmpty('  ')  --> returns true
'''Jack2:'''
  isEmpty('nichtleer')  --> returns false
  isEmpty('  ')  --> returns ''true''
  isEmpty('nichtleer')  --> returns ''false''
 
'''Jack3:'''
isEmpty( )    --> returns ''true''
isEmpty(' ')    --> returns ''false''
isEmpty('nichtleer')    --> returns ''false''


==== Benutzung von Variablen ====
==== Benutzung mit Variablen ====
  isEmpty('[pos=1]')
  isEmpty([var=a])
isEmpty('[var=a]')


====JUnit Tests====
==== Benutzung mit studentischen Eingaben ====
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
'''JACK3:'''
@Before
isEmpty([input=fillin1])
public void beforeTest() {
  placeFillInVariable(2, OMParser.parse("1"));
  placeExerciseVariable("b", OMParser.parse("1"));
}
@Test
public void testIsEmpty(){
  assertTrue(getEvaluator().getBooleanResult("isEmpty('')"));
  assertTrue(getEvaluator().getBooleanResult("isEmpty('   ')"));
  assertFalse(getEvaluator().getBooleanResult("isEmpty('a')"));
  assertFalse(getEvaluator().getBooleanResult("isEmpty('5')"));
}
@Test
public void testIsEmptyWithInput(){
  assertFalse(getEvaluator().getBooleanResult("isEmpty('[pos=2]')"));
}
@Test
public void testIsEmptyWithVariables(){
  assertFalse(getEvaluator().getBooleanResult("isEmpty('[var=b]')"));
}
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testIsEmptyWithWrongInputCharacter(){
  getEvaluator().getNumberResult("isEmpty(a)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testIsEmptyWithTwoArguments(){
  getEvaluator().getNumberResult("isEmpty('a', 0)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testIsEmptyWithThreeArguments(){
  getEvaluator().getNumberResult("isEmpty('string', 1, 3)");
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testIsEmptyWithMissingExerciseVariable(){
  getEvaluator().getNumberResult("isEmpty('[var=j]')");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testIsEmptyWithMissingInput(){
  getEvaluator().getNumberResult("isEmpty('[pos=42]')");
}
</syntaxhighlight>


=== Hinweise ===
=== Hinweise ===
* Anführungsstriche werden als Zeichenkette interpretiert, daher wird es nicht als leer gesehen.
* Ein Leerzeichen wird in JACK3 nicht mehr als leer interpretiert.
* Für die Überprüfung, ob die Platzhalter bei Formeln durch den Formeleditor leer gelassen wurde, steht die Funktion [[containsEditorPlaceholder|containsEditorPlaceholder()]] zur Verfügung.


[[Kategorie:Evaluatorfunktion]]
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Chem-Evaluatorfunktion]][[Kategorie:Testfunktionen]][[Kategorie:JACK2]][[Kategorie:JACK3]]

Aktuelle Version vom 17. April 2024, 09:04 Uhr

Zugehörige Evaluatoren

  • ChemEvaluator
  • MathEvaluator

Beschreibung

Die Funktion isEmpty prüft ob ein gegebenes Objekt leer ist, also keine Zeichen enthält. Die Funktion erwartet ein Objekt und gibt einen Boolean zurück.

Syntax

isEmpty(Objekt objekt)

Parameter

  • objekt - Objekt, das auf leeren Inhalt geprüft wird

Return Value

Beispiele

Standardfälle

Jack2:
isEmpty('  ')   --> returns true

isEmpty('nichtleer')   --> returns false
Jack3:
isEmpty( )    --> returns true

isEmpty(' ')    --> returns false

isEmpty('nichtleer')    --> returns false

Benutzung mit Variablen

isEmpty([var=a])

Benutzung mit studentischen Eingaben

JACK3:
isEmpty([input=fillin1])

Hinweise

  • Anführungsstriche werden als Zeichenkette interpretiert, daher wird es nicht als leer gesehen.
  • Ein Leerzeichen wird in JACK3 nicht mehr als leer interpretiert.
  • Für die Überprüfung, ob die Platzhalter bei Formeln durch den Formeleditor leer gelassen wurde, steht die Funktion containsEditorPlaceholder() zur Verfügung.