IsEmpty: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(13 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=== Zugehörige Evaluatoren ===
*'''ChemEvaluator'''
*'''MathEvaluator'''
=== Beschreibung ===
=== Beschreibung ===
Die Funktion ''isEmpty'' prüft ob ein gegebenes Objekt leer ist, also entweder keine Zeichen oder ausschließlich Leerzeichen beinhaltet, oder Leere Boxen, wie in Matritzen zu finden. Die Funktion erwartet ein Objekt 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 ===
Zeile 13: Zeile 17:
=== 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 ====
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
'''JACK3:'''
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
isEmpty([input=fillin1])
@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)
public void testIsEmptyWithTwoArguments() {
Evaluator.getBooleanResult("isEmpty('a', 0)", exerVar, fillIn);
}
 
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
public void testIsEmptyWithThreeArguments() {
Evaluator.getBooleanResult("isEmpty('string', 1, 3)", exerVar, fillIn);
}
 
@Test(expected = UndefinedExerciseVariableException.class)
public void testIsEmptyWithMissingExerciseVariable() {
Evaluator.getBooleanResult("isEmpty('[var=j]')", exerVar, fillIn);
}
 
@Test(expected = UndefinedFillInVariableException.class)
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:Zeichenkettenfunktionen]][[Kategorie:Testfunktionen]]
[[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.