Equals

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

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

@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.