Equal

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Beschreibung

Die Funktionen equal vergleicht zwei Ausdrücke auf Gleichheit miteinander. Wenn die beiden Ausdrücke übereinstimmen gibt die Funktion true zurück, ansonsten false.

Syntax

a == b

Parameter

  • a - string oder double
  • b - string oder double

Return Value

  • Gibt einen Boolean zurück.

Beispiele

<math>2+3==5</math>    --> returns true
'world of math' == 'world of math'    --> returns true

JUnit Tests

@Before 
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("7"));
  placeFillInVariable(2, OMParser.parse("2"));
		
  placeExerciseVariable("a", OMParser.parse("7"));
  placeExerciseVariable("b", OMParser.parse("2"));
}
	
@Test
public void testEqual() {
  assertTrue(getEvaluator().getBooleanResult("1/2 == 0.5"));
  assertTrue(getEvaluator().getBooleanResult("0.7 == 7/10"));
  assertTrue(getEvaluator().getBooleanResult("4/2 == 2"));
  assertTrue(getEvaluator().getBooleanResult("'world of math' == 'world of math'"));
  assertTrue(getEvaluator().getBooleanResult("'' == ''"));
  assertTrue(!getEvaluator().getBooleanResult("'' == 1"));
  assertTrue(!getEvaluator().getBooleanResult("1 = ''"));
  assertTrue(getEvaluator().getBooleanResult("1 = '1'"));
}
	
@Test
public void testEqualWithVariables() {
  assertTrue(getEvaluator().getBooleanResult("[var=a] == 7"));
  assertTrue(getEvaluator().getBooleanResult("2 == [var=b]"));
}
	
@Test
public void testEqualWithInput() {
  assertTrue(getEvaluator().getBooleanResult("[pos=1] == 7"));
  assertTrue(getEvaluator().getBooleanResult("2 == [pos=2]"));
}
	
@Test
public void testEqualWithEncapsulation(){
  assertTrue(!getEvaluator().getBooleanResult("1 == (1 == 0)"));
  assertTrue(!getEvaluator().getBooleanResult("1 == (1 == (1 == 0))"));
  assertTrue(!getEvaluator().getBooleanResult("1 == (1 == (1 == (1 == (1 == 0))))"));
  assertTrue(getEvaluator().getBooleanResult("1 == (1 == (1 == (1 == (1 == 1))))"));
  assertTrue(!getEvaluator().getBooleanResult("((((1 == 0) == 1) == 1) == 1) == 1"));
  assertTrue(getEvaluator().getBooleanResult("((((1 == 1) == 1) == 1) == 1) == 1"));
}

@Test(expected=ParserMismatchException.class)
public void testEqualWithWrongInputCharacter() {
  getEvaluator().getBooleanResult("1 == a");
}
	
@Test (expected=UndefinedExerciseVariableException.class)
public void testEqualWithMissingExcerciseVariable() {
  getEvaluator().getBooleanResult("[var=j] == 2");
}
	
@Test (expected=UndefinedFillInVariableException.class)
public void testEqualWithMissingInput() {
  getEvaluator().getBooleanResult("[pos=42] == 2");
}

Hinweise

  • Die Funktion equal kann auch mit einfachen mathematischen Operationen umgehen, wie z.B. 2+3.