EndsWith

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Beschreibung

Die Funktion endsWith prüft, ob eine Zeichenkette mit einer bestimmten Zeichenkette endet. Die Funktion erwartet zwei Strings und gibt einen Boolean zurück.

Syntax

endsWith(String zeichenkette, String ende)

Parameter

  • zeichenkette - Zeichenkette, deren Ende geprüft wird
  • ende - Zeichenkette, die mit dem Ende der ersten abgeglichen wird

Return Value

  • Gibt einen Boolean zurück

Beispiele

Standardfälle

endsWith('hallo','lo')   --> returns true
endsWith('JACK','k')   --> returns false

Benutzung von Variablen

endsWith('[pos=1]','ende')
endsWith('anfang','[var=a]')
endsWith('[var=b]','[pos=2]')

JUnit Tests

@Before 
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("0"));
  placeFillInVariable(2, OMParser.parse("1"));
  placeFillInVariable(3, OMParser.parse("testinput"));
		
  placeExerciseVariable("a", OMParser.parse("0"));
  placeExerciseVariable("b", OMParser.parse("1"));
  placeExerciseVariable("c", OMParser.parse("testinput"));
}
	
@Test 
public void testEndsWith() {
  assertTrue(getEvaluator().getBooleanResult("endsWith('1567','7')"));
  assertTrue(getEvaluator().getBooleanResult("endsWith('hallo','o')"));
  assertTrue(getEvaluator().getBooleanResult("endsWith('hallo','hallo')"));
  assertTrue(getEvaluator().getBooleanResult("endsWith('1567.','.' )"));
  assertTrue(getEvaluator().getBooleanResult("endsWith('test ',' ')"));
  assertTrue(getEvaluator().getBooleanResult("endsWith('leererVergleich','')"));
		
  assertFalse(getEvaluator().getBooleanResult("endsWith('hallo','O')"));
  assertFalse(getEvaluator().getBooleanResult("endsWith('lo','hallo')"));
}
	
@Test 
public void testEndsWithWithInput() {
  assertTrue(getEvaluator().getBooleanResult("endsWith('[pos=3] ',' ')"));
  assertTrue(getEvaluator().getBooleanResult("endsWith('[pos=3]','put')"));
  assertTrue(getEvaluator().getBooleanResult("endsWith('test01','[pos=1][pos=2]')"));
}
	
@Test 
public void testEndsWithWithVariables() {
  assertTrue(getEvaluator().getBooleanResult("endsWith('[var=c] ',' ')"));
  assertTrue(getEvaluator().getBooleanResult("endsWith('[var=c]','put')"));
  assertTrue(getEvaluator().getBooleanResult("endsWith('test01','[var=a][var=b]')"));
}
	
@Test 
public void testEndsWithWithExpressions() {
  assertTrue(getEvaluator().getBooleanResult("endsWith('endsWith('1', '1')', 'endsWith('2', '2')')"));
}
	
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testEndsWithWithWrongInputCharacter(){
  getEvaluator().getBooleanResult("endsWith(a, a)");
}
	
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testEndsWithWithTwoRationalArguments(){
  getEvaluator().getBooleanResult("endsWith(2, 2)");
}
	
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testEndsWithWithOneArgument(){
  getEvaluator().getBooleanResult("endsWith('a')");
}
	
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testEndsWithThreeArguments(){
  getEvaluator().getBooleanResult("endsWith('a', 'a', 'a')");
}
	
@Test(expected=UndefinedExerciseVariableException.class)
public void testEndsWithWithMissingExerciseVariable(){
  getEvaluator().getBooleanResult("endsWith('[var=j]', 'a')");
}
	
@Test(expected=UndefinedFillInVariableException.class)
public void testEndsWithWithMissingInput(){
  getEvaluator().getBooleanResult("endsWith('[pos=42]', 'a')");
}

Hinweise

  • Es wird zwischen Groß- und Kleinschreibung unterschieden.