EndsWith
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.