Concat: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Spobel (Diskussion | Beiträge) (→Syntax) |
Spobel (Diskussion | Beiträge) |
||
Zeile 18: | Zeile 18: | ||
==== Benutzung von Variablen ==== | ==== Benutzung von Variablen ==== | ||
concat( | concat([pos=1],'ende') | ||
concat('anfang', | concat('anfang',[var=a]) | ||
concat( | concat([var=b],[pos=2]) | ||
====JUnit Tests==== | ====JUnit Tests==== |
Version vom 4. Oktober 2017, 13:18 Uhr
Beschreibung
Die Funktion concat fügt Zeichenketten unmittelbar aneinander, so dass eine einzige Zeichenkette entsteht. Die Funktion erwartet zwei oder mehr Zeichenketten und gibt eine Zeichenkette zurück.
Syntax
concat(Zeichenkette zeichenkette1, Zeichenkette 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' concat('hallo','welt','!') --> returns 'hallowelt!'
Benutzung von Variablen
concat([pos=1],'ende') concat('anfang',[var=a]) concat([var=b],[pos=2])
JUnit Tests
[Anzeigen]
@BeforeClass
public static void beforeTest() {
concatFillInVariableMap.put(1, OMConverter.toObject("<OMOBJ><OMSTR>Hallo</OMSTR></OMOBJ>"));
concatExerciseVariableMap.put("a", OMConverter.toObject("<OMOBJ><OMSTR>Hallo</OMSTR></OMOBJ>"));
}
@Test
public void testConcat1() {
assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR("HalloHallo")),
Evaluator.evaluate("concat('Hallo','Hallo')", concatExerciseVariableMap, concatFillInVariableMap));
}
@Test
public void testConcat2() {
assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR("Hallo Hallo")),
Evaluator.evaluate("concat('Hallo ',' Hallo')", concatExerciseVariableMap, concatFillInVariableMap));
}
@Test
public void testConcat3() {
assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(" ")),
Evaluator.evaluate("concat(' ','')", concatExerciseVariableMap, concatFillInVariableMap));
}
@Test
public void testConcat4() {
assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR(" ")),
Evaluator.evaluate("concat('',' ')", concatExerciseVariableMap, concatFillInVariableMap));
}
@Test
public void testConcatWithInput() {
assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR("HalloHallo")),
Evaluator.evaluate("concat('[pos=1]','[pos=1]')", concatExerciseVariableMap, concatFillInVariableMap));
}
@Test
public void testConcatWithVariables() {
assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR("HalloHallo")),
Evaluator.evaluate("concat('[var=a]','[var=a]')", concatExerciseVariableMap, concatFillInVariableMap));
}
@Test(expected = ParserException.class)
public void testConcatWithWrongInputCharacter() {
Evaluator.evaluate("concat(ab,'abcd')", concatExerciseVariableMap, concatFillInVariableMap);
fail();
}
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
public void testConcatWithOneArgument() {
Evaluator.evaluate("concat('abcd')", concatExerciseVariableMap, concatFillInVariableMap);
fail();
}
@Test
public void testConcatWithOneRationalAndOneTextArgument() {
Evaluator.evaluate("concat(12, 'abcd')", concatExerciseVariableMap, concatFillInVariableMap);
}
@Test
public void testConcatWithTwoRationalArguments() {
Evaluator.evaluate("concat(12, 14)", concatExerciseVariableMap, concatFillInVariableMap);
}
@Test
public void testConcatWithThreeArguments() {
Evaluator.evaluate("concat('abcd', 'efg', 'hij')", concatExerciseVariableMap, concatFillInVariableMap);
}
@Test(expected = UndefinedExerciseVariableException.class)
public void testConcatWithMissingExcerciseVariable() {
Evaluator.evaluate("concat('[var=j]','abcd')", concatExerciseVariableMap, concatFillInVariableMap);
fail();
}
@Test(expected = UndefinedFillInVariableException.class)
public void testConcatWithMissingInput() {
Evaluator.evaluate("concat([pos=42],'abcd')", concatExerciseVariableMap, concatFillInVariableMap);
fail();
}