Trim: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 14: Zeile 14:
====Standardfälle====
====Standardfälle====
  trim('    Leerzeichen wurden entfernt      ')  --> returns 'Leerzeichen wurden entfernt'
  trim('    Leerzeichen wurden entfernt      ')  --> returns 'Leerzeichen wurden entfernt'
  trim('  hello')  --> returns 'hello'
  trim('  hello')  --> returns 'hello'


====Benutzung mit Variablen====
====Benutzung mit Variablen====
  trim('[pos=1]')
  trim('[pos=1]')
  trim('[var=a]')
  trim('[var=a]')
====JUnit Tests====
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
@Before
public void beforeTest() {
fillInVariableMap.put(7, OMConverter.toObject("<OMOBJ><OMSTR>hello</OMSTR></OMOBJ>"));
exerciseVariableMap.put("g", OMConverter.toObject("<OMOBJ><OMSTR>hello</OMSTR></OMOBJ>"));
}
@Test
public void testTrim1() {
assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR("hello")),
Evaluator.evaluate("trim(' hello')", exerciseVariableMap, fillInVariableMap));
}
@Test
public void testTrim2() {
assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR("hello")),
Evaluator.evaluate("trim('hello ')", exerciseVariableMap, fillInVariableMap));
}
@Test
public void testTrim3() {
assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR("hello")),
Evaluator.evaluate("trim(' hello ')", exerciseVariableMap, fillInVariableMap));
}
@Test
public void testTrim4() {
assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR("hel lo")),
Evaluator.evaluate("trim(' hel lo ')", exerciseVariableMap, fillInVariableMap));
}
@Test
public void testTrimWithExpression1() {
assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR("w o r k")),
Evaluator.evaluate("trim(trim(' w o r k '))", exerciseVariableMap, fillInVariableMap));
}
@Test
public void testTrimWithExpression2() {
assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR("w o r k")),
Evaluator.evaluate("trim(trim(trim(' w o r k ')))", exerciseVariableMap, fillInVariableMap));
}
@Test
public void testTrimWithInput() {
assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR("hello")),
Evaluator.evaluate("trim(' [pos=7] ')", exerciseVariableMap, fillInVariableMap));
}
@Test
public void testTrimWithVariables() {
assertEquals(OMCreator.createOMOBJ(OMCreator.createOMSTR("hello")),
Evaluator.evaluate("trim(' [var=g] ')", exerciseVariableMap, fillInVariableMap));
}
@Test(expected = ParserException.class)
public void testTrimWithWrongInputCharacter() {
Evaluator.evaluate("trim(ab)", exerciseVariableMap, fillInVariableMap);
fail();
}
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
public void testTrimWithTwoArguments() {
Evaluator.evaluate("trim(' a', 'a ')", exerciseVariableMap, fillInVariableMap);
fail();
}
@Test(expected = FunctionInvalidNumberOfArgumentsException.class)
public void testTrimWithThreeArguments() {
Evaluator.evaluate("trim(' a', 'a ', ' a ')", exerciseVariableMap, fillInVariableMap);
fail();
}
@Test(expected = UndefinedExerciseVariableException.class)
public void testTrimWithMissingExerciseVariable() {
Evaluator.evaluate("trim('[var=j]')", exerciseVariableMap, fillInVariableMap);
fail();
}
@Test(expected = UndefinedFillInVariableException.class)
public void testTrimWithMissingInput() {
Evaluator.evaluate("trim('[pos=42]')", exerciseVariableMap, fillInVariableMap);
fail();
}
</syntaxhighlight>


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

Version vom 25. September 2018, 10:35 Uhr

Beschreibung

Die Funktion trim entfernt aus einer Zeichenkette alle am Anfang und am Ende stehende Leerzeichen. Die Funktion erwartet eine Zeichenkette und gibt eine modifizierte Zeichenkette zurück.

Syntax

trim(Zeichenkette zeichenkette)

Parameter

  • zeichenkette - die Zeichenkette bei der die am Anfang und Ende befindlichen Leerzeichen entfernt werden sollen

Return Value

Beispiele

Standardfälle

trim('     Leerzeichen wurden entfernt      ')   --> returns 'Leerzeichen wurden entfernt'

trim('   hello')   --> returns 'hello'

Benutzung mit Variablen

trim('[pos=1]')

trim('[var=a]')

Hinweise

  • Es werden keine Leerzeichen zwischen den Wörtern der Zeichenkette entfernt.
  • Im Moment werden jedoch alle Leerzeichen entfernt!