IsEmpty: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
 
(18 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([[Objekt]] 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
isEmpty('nichtleer')  --> returns false
==== Benutzung von Variablen ====
isEmpty('[pos=1]')
isEmpty('[var=a]')
====JUnit Tests====
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
@BeforeClass
public static void beforeTest() {
OMOBJ one = new OMOBJ();
one.setOMI(OMCreator.createOMI(1));
fillIn.put(2, one);
exerVar.put("b", one);
}
@Test
public void testIsEmpty1() {
assertEquals(true, Evaluator.getBooleanResult("isEmpty('')", exerVar, fillIn));
}
@Test
public void testIsEmpty2() {
assertEquals(false, Evaluator.getBooleanResult("isEmpty('  ')", exerVar, fillIn));
}
@Test
public void testIsEmpty3() {
assertEquals(false, Evaluator.getBooleanResult("isEmpty('a')", exerVar, fillIn));
}
@Test
public void testIsEmpty4() {
assertEquals(false, Evaluator.getBooleanResult("isEmpty('5')", exerVar, fillIn));
}
@Test
public void testIsEmptyWithInput() {
assertEquals(false, Evaluator.getBooleanResult("isEmpty('[pos=2]')", exerVar, fillIn));
}
@Test
public void testIsEmptyWithVariables() {
assertEquals(false, Evaluator.getBooleanResult("isEmpty('[var=b]')", exerVar, fillIn));
}
@Test
public void testIsEmptyWithWrongInputCharacter() {
assertEquals(false, Evaluator.getBooleanResult("isEmpty(a)", exerVar, fillIn));
}


@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
isEmpty( )   --> returns ''true''
public void testIsEmptyWithTwoArguments() {
Evaluator.getBooleanResult("isEmpty('a', 0)", exerVar, fillIn);
isEmpty(' ')   --> returns ''false''
}
isEmpty('nichtleer')   --> returns ''false''


@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
==== Benutzung mit Variablen ====
public void testIsEmptyWithThreeArguments() {
isEmpty([var=a])
Evaluator.getBooleanResult("isEmpty('string', 1, 3)", exerVar, fillIn);
}


@Test(expected = UndefinedExerciseVariableException.class)
==== Benutzung mit studentischen Eingaben ====
public void testIsEmptyWithMissingExerciseVariable() {
Evaluator.getBooleanResult("isEmpty('[var=j]')", exerVar, fillIn);
}


@Test(expected = UndefinedFillInVariableException.class)
isEmpty([input=fillin1])
public void testIsEmptyWithMissingInput() {
Evaluator.getBooleanResult("isEmpty('[pos=42]')", exerVar, fillIn);
}
</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 18. November 2025, 13:31 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

isEmpty( )    --> returns true

isEmpty(' ')    --> returns false

isEmpty('nichtleer')    --> returns false

Benutzung mit Variablen

isEmpty([var=a])

Benutzung mit studentischen Eingaben

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.