Length: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
=== Beschreibung ===
=== Beschreibung ===
Die Funktion ''length'' gibt die Länge einer gegebenen Zeichenkette zurück. Die Funktion erwartet einen String und gibt eine Ganzzahl zurück.
Die Funktion ''length'' gibt die Länge einer gegebenen Zeichenkette zurück. Die Funktion erwartet einen String und gibt eine Ganzzahl zurück.


=== Syntax ===
=== Syntax ===
  length(String zeichenkette)
  length([[Zeichenkette]] zeichenkette)


=== Parameter ===
=== Parameter ===
* '''zeichenkette''' - Zeichenkette deren Länge bestimmt werden soll
* '''zeichenkette''' - [[Zeichenkette]] deren Länge bestimmt werden soll


=== Return Value ===
=== Return Value ===
* Gibt eine Ganzzahl zurück
* Gibt eine [[Ganzzahl]] zurück


=== Beispiele ===
=== Beispiele ===
==== Standardfälle ====
==== Standardfälle ====
  length('Hello World!')  --> returns 12
  length('Hello World!')  --> returns 12
  length('a')  --> returns 1
  length('a')  --> returns 1


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


====JUnit Tests====
==== Benutzung mit studentischen Eingaben ====
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
'''JACK2:'''
@Before
  length([pos=1])
public void beforeTest() {
  placeExerciseVariable("a", OMParser.parse("Haveaniceday"));
  placeExerciseVariable("b", OMParser.parse("stillworking"));
  placeFillInVariable(1, OMParser.parse("Haveaniceday"));
  placeFillInVariable(2, OMParser.parse("stillWorking"));
}
@Test
public void testLength(){
  assertTrue(5 == getEvaluator().getNumberResult("length('abcde')"));
  assertTrue(14 == getEvaluator().getNumberResult("length('another string')"));
  assertTrue(0 == getEvaluator().getNumberResult("length('')"));
  assertTrue(2 == getEvaluator().getNumberResult("length(' ')"));
}
@Test
public void testLengthWithInput(){
  assertTrue(12 == getEvaluator().getNumberResult("length('[pos=1]')"));
  assertTrue(12 == getEvaluator().getNumberResult("length('[pos=2]')"));
}
@Test
public void testLengthWithVariables(){
  assertTrue(12 == getEvaluator().getNumberResult("length('[var=a]')"));
  assertTrue(12 == getEvaluator().getNumberResult("length('[var=b]')"));
}


@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
'''JACK3:'''
public void testLengthWithWrongInputCharacter(){
length([input=field1])
  getEvaluator().getNumberResult("length(a)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testLengthWithTwoArguments(){
  getEvaluator().getNumberResult("length('abab', 'abab')");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testLengthWithThreeArguments(){
  getEvaluator().getNumberResult("length('abab', 'ab', 'ab')");
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testLengthWithMissingExerciseVariable(){
  getEvaluator().getNumberResult("length('[var=j]')");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testLengthWithMissingInput(){
  getEvaluator().getNumberResult("length('[pos=42]')");
}
</syntaxhighlight>
=== Hinweise ===


[[Kategorie:Evaluatorfunktion]]
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Zeichenkettenfunktionen]][[Kategorie:JACK2]][[Kategorie:JACK3]]

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

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion length gibt die Länge einer gegebenen Zeichenkette zurück. Die Funktion erwartet einen String und gibt eine Ganzzahl zurück.

Syntax

length(Zeichenkette zeichenkette)

Parameter

  • zeichenkette - Zeichenkette deren Länge bestimmt werden soll

Return Value

Beispiele

Standardfälle

length('Hello World!')   --> returns 12

length('a')   --> returns 1

Benutzung mit Variablen

length([var=a])

Benutzung mit studentischen Eingaben

JACK2:
length([pos=1])
JACK3:
length([input=field1])