GreaterThanOrEqual

Aus JACK Wiki
Zur Navigation springen Zur Suche springen

Beschreibung

Die Funktion greaterThanOrEqual vergleicht zwei Ausdrücke der Größe nach miteinander und gibt einen Wahrheitswert zurück, abhängig davon, ob der linksstehende Ausdruck größer-gleich dem rechtsstehenden Ausdruck ist.

Syntax

a >= b

Parameter

  • a - double
  • b - double

Return Value

  • Gibt einen Boolean zurück.
    Wenn der linke Ausdruck größer-gleich dem rechten Ausdruck ist, wird true zurückgegeben, andernfalls false.

Beispiele

<math>6 >= 3</math>    --> returns true
<math>3 >= 3</math>    --> returns true
<math>-1 >= 2</math>    --> returns false

JUnit Tests

[Anzeigen]

@Before 
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("3"));
  placeFillInVariable(2, OMParser.parse("1"));
		
  placeExerciseVariable("a", OMParser.parse("8"));
  placeExerciseVariable("b", OMParser.parse("25"));
}

@Test
public void testGreaterThanOrEqual(){
  assertTrue(getEvaluator().getBooleanResult("22>=8"));
  assertTrue(getEvaluator().getBooleanResult("8>=8"));
  assertTrue(!getEvaluator().getBooleanResult("2>=8"));
  assertTrue(getEvaluator().getBooleanResult("9>=8"));
  assertTrue(!getEvaluator().getBooleanResult("7>=45"));
  assertTrue(getEvaluator().getBooleanResult("7>=7"));
  assertTrue(getEvaluator().getBooleanResult("0>=-0.2"));
  assertTrue(getEvaluator().getBooleanResult("0>=0"));
}
	
@Test
public void testGreaterThanOrEqualWithVariables(){
  assertTrue(getEvaluator().getBooleanResult("22>=[var=a]"));
  assertTrue(!getEvaluator().getBooleanResult("2>=[var=a]"));
  assertTrue(getEvaluator().getBooleanResult("[var=b]>=8"));
  assertTrue(getEvaluator().getBooleanResult("[var=a]>=8"));
  assertTrue(!getEvaluator().getBooleanResult("23>=[var=b]"));
  assertTrue(getEvaluator().getBooleanResult("[var=a]>=[var=a]"));
  assertTrue(getEvaluator().getBooleanResult("[var=b]>=[var=a]"));
  assertTrue(!getEvaluator().getBooleanResult("[var=a]>=[var=b]"));
}
	
@Test
public void testGreaterThanOrEqualWithInput(){
  assertTrue(getEvaluator().getBooleanResult("22>=[pos=1]"));
  assertTrue(getEvaluator().getBooleanResult("3>=[pos=1]"));
  assertTrue(!getEvaluator().getBooleanResult("2>=[pos=1]"));
  assertTrue(getEvaluator().getBooleanResult("5>=[pos=2]"));
  assertTrue(!getEvaluator().getBooleanResult("[pos=2]>=5"));
  assertTrue(!getEvaluator().getBooleanResult("[pos=2]>=[pos=1]"));
}

@Test
public void testGreaterThanOrEqualWithEncapsulation(){
  assertTrue(getEvaluator().getBooleanResult("1 >= (1 >= 2)"));
  assertTrue(!getEvaluator().getBooleanResult("0 >= (0 >= (0 >= 1))"));
  assertTrue(!getEvaluator().getBooleanResult("0 >= (0 >= (0 >= (0 >= (0 >= 1))))"));
  assertTrue(getEvaluator().getBooleanResult("((((1 >= 1) >= 1) >= 1) >= 1) >= 1"));
}
	
@Test(expected=ParserMismatchException.class)
public void testGreaterThanOrEqualWithWrongInputCharacter() {
  getEvaluator().getBooleanResult("6 >= a");
}
	
@Test(expected=UnsupportedBinaryOperatorException.class)
public void testGreaterThanOrEqualWithWrongInputString() {
  getEvaluator().getBooleanResult("6 >= 'a'");
}
	
@Test (expected=UndefinedExerciseVariableException.class)
public void testGreaterThanOrEqualWithMissingExcerciseVariable() {
  getEvaluator().getBooleanResult("[var=j] >= 2");
}
	
@Test (expected=UndefinedFillInVariableException.class)
public void testGreaterThanOrEqualWithMissingInput() {
  getEvaluator().getBooleanResult("[pos=42] >= 2");
}

Hinweise