IsEmpty: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
 
(16 dazwischenliegende Versionen von 5 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
  '''Jack2:'''
isEmpty('nichtleer')  --> returns false
  isEmpty(' ')   --> returns ''true''
 
==== Benutzung von Variablen ====
isEmpty('nichtleer')   --> returns ''false''
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)
public void testIsEmptyWithTwoArguments() {
Evaluator.getBooleanResult("isEmpty('a', 0)", exerVar, fillIn);
}


@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
'''Jack3:'''
public void testIsEmptyWithThreeArguments() {
isEmpty( )   --> returns ''true''
Evaluator.getBooleanResult("isEmpty('string', 1, 3)", exerVar, fillIn);
}
isEmpty(' ')   --> returns ''false''
isEmpty('nichtleer')   --> returns ''false''


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


@Test(expected = UndefinedFillInVariableException.class)
==== Benutzung mit studentischen Eingaben ====
public void testIsEmptyWithMissingInput() {
'''JACK3:'''
Evaluator.getBooleanResult("isEmpty('[pos=42]')", exerVar, fillIn);
isEmpty([input=fillin1])
}
</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, 08: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.