Equal: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 17: Zeile 17:
  'world of math' == 'world of math'    --> returns ''true''
  'world of math' == 'world of math'    --> returns ''true''


====JUnit Tests====
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
@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");
}
</syntaxhighlight>
===Hinweise===
===Hinweise===
* Die Funktion ''equal'' kann auch mit einfachen mathematischen Operationen umgehen, wie z.B. 2+3.
* Die Funktion ''equal'' kann auch mit einfachen mathematischen Operationen umgehen, wie z.B. 2+3.


[[Kategorie:Evaluatorfunktion]]
[[Kategorie:Evaluatorfunktion]]

Version vom 21. Juni 2017, 11:17 Uhr

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.