StartsWith: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 20: Zeile 20:
  startsWith('[pos=1]','test',0)
  startsWith('[pos=1]','test',0)
  startsWith('[var=a]','o',4)
  startsWith('[var=a]','o',4)
====JUnit Tests====
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
@Before
public void beforeTest(){
  placeFillInVariable(0, OMParser.parse("ll"));
  placeFillInVariable(1, OMParser.parse("0"));
  placeFillInVariable(2, OMParser.parse("hello"));
  placeExerciseVariable("a", OMParser.parse("0"));
  placeExerciseVariable("ll", OMParser.parse("ll"));
  placeExerciseVariable("hello", OMParser.parse("hello"));
}
@Test public void testStartsWith(){
  assertTrue(getEvaluator().getBooleanResult("startsWith('hello','he',0)"));
  assertTrue(getEvaluator().getBooleanResult("startsWith('hello','ll',2)"));
  assertTrue(getEvaluator().getBooleanResult("startsWith('hello','o',4)"));
  assertTrue(!getEvaluator().getBooleanResult("startsWith('hello','ll',0)"));
  assertTrue(getEvaluator().getBooleanResult("startsWith('','',0)"));
  assertTrue(!getEvaluator().getBooleanResult("startsWith('',' ',0)"));
}
@Test public void testStartsWithInput(){
  assertTrue(getEvaluator().getBooleanResult("startsWith('hello','he',[pos=1])"));
  assertTrue(getEvaluator().getBooleanResult("startsWith('hello','[pos=0]',2)"));
  assertTrue(getEvaluator().getBooleanResult("startsWith('[pos=2]','o',4)"));
}
@Test public void testStartsWithVariables(){
  assertTrue(getEvaluator().getBooleanResult("startsWith('hello','he',[var=a])"));
  assertTrue(getEvaluator().getBooleanResult("startsWith('hello','[var=ll]',2)"));
  assertTrue(getEvaluator().getBooleanResult("startsWith('[var=hello]','o',4)"));
}
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testStartsWithWithWrongInputCharacter(){
  getEvaluator().getBooleanResult("startsWith(a)");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testStartsWithWithOneArgument(){
  getEvaluator().getBooleanResult("startsWith('hello')");
}
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testStartsWithWithTwoArguments(){
  getEvaluator().getBooleanResult("startsWith('hello', 'he')");
}
@Test(expected=UndefinedExerciseVariableException.class)
public void testStartsWithWithMissingExerciseVariable(){
  getEvaluator().getBooleanResult("startsWith('[var=j]', '[var=j]', '[var=j]')");
}
@Test(expected=UndefinedFillInVariableException.class)
public void testStartsWithWithMissingInput(){
  getEvaluator().getBooleanResult("startsWith('[pos=42]', '[pos=42]', '[pos=42]')");
}
</syntaxhighlight>


=== Hinweise ===
=== Hinweise ===


[[Kategorie:Evaluatorfunktion]]
[[Kategorie:Evaluatorfunktion]]

Version vom 20. Juni 2017, 16:55 Uhr

Beschreibung

Die Funktion StartsWith prüft, ob eine Zeichenkette ab einer bestimmten Position mit einer bestimmen Zeichenkette anfängt. Die Funktion erwartet eine zu prüfende Zeichenkette, eine Zeichenkette die gesucht wird und eine Position, ab der geprüft werden soll. Fängt an der gegebenen Position die gesuchte Zeichenkette in der zu prüfenden Zeichenkette an, liefert die Funktion true zurück, ansonsten false

Syntax

startsWith(String zeichenkette, String gesuchterString, String startPosition)

Parameter

  • zeichenkette - die Zeichenkette, die geprüft werden soll,
  • gesuchterString - die Zeichenkette, auf dessen vorkommen geprüft wird,
  • startPosition - der Postion ab der überprüft wird

Return Value

  • Gibt einen Boolean-Wert zurück

Beispiele

Standardfälle

startsWith('hello','he',0)   --> returns true
startsWith('hier klappt es nicht','hello',10)   --> returns false

Benutzung mit Variablen

startsWith('[pos=1]','test',0)
startsWith('[var=a]','o',4)

JUnit Tests

@Before
public void beforeTest(){
  placeFillInVariable(0, OMParser.parse("ll"));
  placeFillInVariable(1, OMParser.parse("0"));
  placeFillInVariable(2, OMParser.parse("hello"));
		
  placeExerciseVariable("a", OMParser.parse("0"));
  placeExerciseVariable("ll", OMParser.parse("ll"));
  placeExerciseVariable("hello", OMParser.parse("hello"));
}
	
@Test public void testStartsWith(){
  assertTrue(getEvaluator().getBooleanResult("startsWith('hello','he',0)"));
  assertTrue(getEvaluator().getBooleanResult("startsWith('hello','ll',2)"));
  assertTrue(getEvaluator().getBooleanResult("startsWith('hello','o',4)"));
  assertTrue(!getEvaluator().getBooleanResult("startsWith('hello','ll',0)"));
  assertTrue(getEvaluator().getBooleanResult("startsWith('','',0)"));
  assertTrue(!getEvaluator().getBooleanResult("startsWith('',' ',0)"));
}
	
@Test public void testStartsWithInput(){
  assertTrue(getEvaluator().getBooleanResult("startsWith('hello','he',[pos=1])"));
  assertTrue(getEvaluator().getBooleanResult("startsWith('hello','[pos=0]',2)"));
  assertTrue(getEvaluator().getBooleanResult("startsWith('[pos=2]','o',4)"));
}
	
@Test public void testStartsWithVariables(){
  assertTrue(getEvaluator().getBooleanResult("startsWith('hello','he',[var=a])"));
  assertTrue(getEvaluator().getBooleanResult("startsWith('hello','[var=ll]',2)"));
  assertTrue(getEvaluator().getBooleanResult("startsWith('[var=hello]','o',4)"));
}
	
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testStartsWithWithWrongInputCharacter(){
  getEvaluator().getBooleanResult("startsWith(a)");
}
	
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testStartsWithWithOneArgument(){
  getEvaluator().getBooleanResult("startsWith('hello')");
}
	
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testStartsWithWithTwoArguments(){
  getEvaluator().getBooleanResult("startsWith('hello', 'he')");
}
	
@Test(expected=UndefinedExerciseVariableException.class)
public void testStartsWithWithMissingExerciseVariable(){
  getEvaluator().getBooleanResult("startsWith('[var=j]', '[var=j]', '[var=j]')");
}
	
@Test(expected=UndefinedFillInVariableException.class)
public void testStartsWithWithMissingInput(){
  getEvaluator().getBooleanResult("startsWith('[pos=42]', '[pos=42]', '[pos=42]')");
}

Hinweise