Replace: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 23: Zeile 23:


====JUnit Tests====
====JUnit Tests====
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
private char cMax = Character.MAX_VALUE;
private char cMax = Character.MAX_VALUE;
private char cMin = Character.MIN_VALUE;
private char cMin = Character.MIN_VALUE;

Version vom 27. Juni 2017, 10:12 Uhr

Beschreibung

Die Funktion replace ersetzt alle entsprechenden Zeichen einer Zeichenkette durch ein angegebenes Zeichen. Die Funktion benötigt eine Zeichenkette, ein zu ersetzendes Zeichen und ein Zeichen, durch das alle zu ersetzende Zeichen in der Zeichenkette ausgetauscht werden.

Syntax

replace(String zeichenkette, Char zeichen, Char austauschZeichen)

Parameter

  • zeichenkette - die Zeichenkette, in der Zeichen ausgetausch werden sollen
  • zeichen - das Zeichen, das ausgetauscht werden soll
  • austauschZeichen - das Zeichen, durch das die anderen ausgetauscht werden.

Return Value

  • Gibt einen String zurück

Beispiele

Standardfälle

replace('Hello  World! ',' ','$')   --> returns 'Hello$$World!$' 
replace('Have a!nice day!','!',' ')   --> returns 'Have a nice day '

Benutzung mit Variablen

repalce('[pos=1]','a','t')
replace('Hallo','[var=a]','a')

JUnit Tests

[Anzeigen]

private char cMax = Character.MAX_VALUE;
private char cMin = Character.MIN_VALUE;
	
@Before
public void beforeTest(){
  placeFillInVariable(1, OMParser.parse("HaveQaQniceQday"));
  placeFillInVariable(2, OMParser.parse("a"));
  placeFillInVariable(3, OMParser.parse("b"));
  placeExerciseVariable("a", OMParser.parse("HaveQaQniceQday"));
  placeExerciseVariable("b", OMParser.parse("a"));
  placeExerciseVariable("c", OMParser.parse("b"));
}
	
@Test
public void testReplace(){
  assertTrue("'Hello$$World!$'".equals(getEvaluator().getResultAsEvaluatorString("replace('Hello  World! ', ' ', '$')")));
  assertTrue("'Have a nice day '".equals(getEvaluator().getResultAsEvaluatorString("replace('Have a nice day!', '!', ' ')")));
  assertTrue("'1010101'".equals(getEvaluator().getResultAsEvaluatorString("replace('a0a0a0a', 'a', '1'))")));
  assertTrue("'`0`0`0`'".equals(getEvaluator().getResultAsEvaluatorString("replace('a0a0a0a', 'a', '`'))")));
}
	
@Test
public void testReplaceWithInput(){
  assertTrue("'Have a nice day'".equals(getEvaluator().getResultAsEvaluatorString("replace('[pos=1]', 'Q', ' ')")));
  assertTrue("'H veQ QniceQd y'".equals(getEvaluator().getResultAsEvaluatorString("replace('[pos=1]', '[pos=2]', ' ')")));
  assertTrue("'HbveQbQniceQdby'".equals(getEvaluator().getResultAsEvaluatorString("replace('[pos=1]', '[pos=2]', '[pos=3]')")));		
}
	
@Test
public void testReplaceWithVariables(){
  assertTrue("'Have a nice day'".equals(getEvaluator().getResultAsEvaluatorString("replace('[var=a]', 'Q', ' ')")));
  assertTrue("'H veQ QniceQd y'".equals(getEvaluator().getResultAsEvaluatorString("replace('[var=a]', '[var=b]', ' ')")));
  assertTrue("'HbveQbQniceQdby'".equals(getEvaluator().getResultAsEvaluatorString("replace('[var=a]', '[var=b]', '[var=c]')")));	
}
	
@Test
public void testReplaceWithCharacterMaxMinValue(){
  assertTrue(("'" + cMax + "0'").equals(getEvaluator().getResultAsEvaluatorString("replace('a0', 'a', '" + cMax + "'))")));
  assertTrue(("'" + cMin + "0'").equals(getEvaluator().getResultAsEvaluatorString("replace('a0', 'a', '" + cMin + "'))")));		
}
	
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testReplaceWithWrongInputSecondArgumentEmpty(){
  getEvaluator().getResultAsEvaluatorString("replace('a', '', 'a')");
}
	
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void tesReplaceWithWrongInputThirdArgumentEmpty(){
  getEvaluator().getResultAsEvaluatorString("replace('a ', ' ', '')");
}
	
@Test(expected=InvalidEvaluatorFunctionArgumentException.class)
public void testReplaceWithWrongInputCharacter(){
  getEvaluator().getResultAsEvaluatorString("replace(a, a, a)");
}
	
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testReplaceWithOneArgument(){
  getEvaluator().getResultAsEvaluatorString("replace('a')");
}
	
@Test(expected=UnsupportedEvaluatorFunctionException.class)
public void testReplaceWithTwoArguments(){
  getEvaluator().getResultAsEvaluatorString("replace('a', 'b')");
}
	
@Test(expected=UndefinedExerciseVariableException.class)
public void testReplaceWithMissingExerciseVariable(){
  getEvaluator().getResultAsEvaluatorString("replace('[var=j]', '[var=j]', '[var=j]')");
}
	
@Test(expected=UndefinedFillInVariableException.class)
public void testReplaceWithMissingInput(){
  getEvaluator().getResultAsEvaluatorString("replace('[pos=42]', '[pos=42]', '[pos=42]')");
}

Hinweise