Equals: 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">
@Before  
@Before  
public void beforeTest() {
public void beforeTest() {

Version vom 27. Juni 2017, 10:11 Uhr

Beschreibung

Die Funktion equals vergleicht zwei Zeichenketten auf ihre exakte Übereinstimmung. Die Funktion erwartet zwei Strings und gibt einen Boolean zurück.

Syntax

equals(String zeichenkette1, String zeichenkette2)

Parameter

  • zeichenkette1 - erste zu vergleichende Zeichenkette
  • zeichenkette2 - zweite zu vergleichende Zeichenkette

Return Value

  • Gibt einen Boolean zurück

Beispiele

Standardfälle

equals('hallo','hallo')   --> returns true
equals('JACK','jack')   --> returns false

Benutzung von Variablen

equals('[pos=1]','text')
equals('text','[var=a]')
equals('[var=b]','[pos=2]')

JUnit Tests

[Anzeigen]

@Before 
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("hallo"));
  placeFillInVariable(2, OMParser.parse("Hallo"));
  
  placeExerciseVariable("a", OMParser.parse("hallo"));
  placeExerciseVariable("b", OMParser.parse("HALLO"));
}
	
@Test 
public void testEquals() {
  assertTrue(getEvaluator().getBooleanResult("equals('hallo','hallo')"));
  assertFalse(getEvaluator().getBooleanResult("equals('HALLO','hallo')"));
  assertFalse(getEvaluator().getBooleanResult("equals('hallo welt','hallowelt')"));
  assertTrue(getEvaluator().getBooleanResult("equals(' ',' ')"));
  assertFalse(getEvaluator().getBooleanResult("equals(' ','  ')"));
  assertTrue(getEvaluator().getBooleanResult("equals('','')"));
  assertTrue(getEvaluator().getBooleanResult("equals(1, '1')"));
}
	
@Test 
public void testEqualsWithInput() {
  assertTrue(getEvaluator().getBooleanResult("equals('[pos=1]','hallo')"));
  assertFalse(getEvaluator().getBooleanResult("equals('hallo','[pos=2]')"));
}

@Test 
public void testEqualsWithVariables() {
  assertTrue(getEvaluator().getBooleanResult("equals('[var=a]','hallo')"));
  assertFalse(getEvaluator().getBooleanResult("equals('hallo','[var=b]')"));
}
	
@Test 
public void testEqualsWithExpressions() {
  assertTrue(getEvaluator().getBooleanResult("equals('equals('a','a')', 'equals('b','b')')"));
}

@Test (expected=InvalidEvaluatorFunctionArgumentException.class)
public void testEqualsWithWrongInputCharacter() {
  getEvaluator().getBooleanResult("equals(a, a)");
}
	
@Test (expected=UnsupportedEvaluatorFunctionException.class)
public void testEqualsWithThreeArguments() {
  getEvaluator().getBooleanResult("equals('hallo','hallo', 'test')");
}
	
@Test (expected=UndefinedFillInVariableException.class)
public void testEqualsWithMissingInput() {
  getEvaluator().getBooleanResult("equals('[pos=42]','hallo')");
}
	
@Test (expected=UndefinedExerciseVariableException.class)
public void testEqualsWithMissingExerciseVariable() {
  getEvaluator().getBooleanResult("equals('[var=j]','hallo')");
}

Hinweise

  • Es wird zwischen Groß- und Kleinschreibung unterschieden.
  • Die Funktion equals vergleicht zwei strings, auch Leerzeichen werden gezählt.