Equals: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 21: Zeile 21:
  equals('text','[var=a]')
  equals('text','[var=a]')
  equals('[var=b]','[pos=2]')
  equals('[var=b]','[pos=2]')
====JUnit Tests====
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
@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')");
}
</syntaxhighlight>


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

Version vom 20. Juni 2017, 16:40 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

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