Concat

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Beschreibung

Die Funktion concat fügt einer Zeichenkette eine zweite Zeichenkette unmittelbar an, so dass eine einzige Zeichenkette entsteht. Die Funktion erwartet zwei Strings und gibt einen String zurück.

Syntax

concat(String zeichenkette1, String zeichenkette2)

Parameter

  • zeichenkette1 - erste Zeichenkette
  • zeichenkette2 - zweite Zeichenkette, die der ersten angehängt werden soll

Return Value

  • Gibt einen String zurück

Beispiele

Standardfälle

concat('hallo','welt')   --> returns 'hallowelt'

Benutzung von Variablen

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

JUnit Tests

@Before 
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("Hallo"));
		
  placeExerciseVariable("a", OMParser.parse("Hallo"));
}
		
@Test 
public void testConcat() {
  assertTrue("'HalloHallo'".equals(getEvaluator().getResultAsEvaluatorString("concat('Hallo','Hallo')")));
  assertTrue("'Hallo  Hallo'".equals(getEvaluator().getResultAsEvaluatorString("concat('Hallo ',' Hallo')")));
  assertTrue("' '".equals(getEvaluator().getResultAsEvaluatorString("concat(' ','')")));
  assertTrue("' '".equals(getEvaluator().getResultAsEvaluatorString("concat('',' ')")));
}
	
@Test 
public void testConcatWithInput() {
  assertTrue("'HalloHallo'".equals(getEvaluator().getResultAsEvaluatorString("concat('[pos=1]','[pos=1]')")));
}
	
@Test 
public void testConcatWithVariables() {
  assertTrue("'HalloHallo'".equals(getEvaluator().getResultAsEvaluatorString("concat('[var=a]','[var=a]')")));
}

@Test (expected=InvalidEvaluatorFunctionArgumentException.class)
public void testConcatWithWrongInputCharacter() {
  getEvaluator().getResultAsEvaluatorString("concat(a,'abcd')");
}
	
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testConcatWithOneArgument() {
  getEvaluator().getResultAsEvaluatorString("concat('abcd')");
}
	
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testConcatWithOneRationalAndOneTextArgument() {
  getEvaluator().getResultAsEvaluatorString("concat(12, 'abcd')");
}
	
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testConcatWithTwoRationalArguments() {
  getEvaluator().getResultAsEvaluatorString("concat(12, 14)");
}
	
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testConcatWithThreeArguments() {
  getEvaluator().getResultAsEvaluatorString("concat('abcd', 'efg', 'hij')");
}
	
@Test (expected=UndefinedExerciseVariableException.class)
public void testConcatWithMissingExcerciseVariable() {
  getEvaluator().getResultAsEvaluatorString("concat('[var=j]','abcd')");
}
	
@Test (expected=UndefinedFillInVariableException.class)
public void testConcatWithMissingInput() {
  getEvaluator().getResultAsEvaluatorString("concat([pos=42],'abcd')");
}

Hinweise