Equal: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 18: Zeile 18:


====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, 09: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

[Anzeigen]

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