LessThanOrEqual: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(17 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
===Beschreibung===
===Beschreibung===
Die Funktion ''lessThanOrEqual'' vergleicht zwei Ausdrücke der Größe nach miteinander und gibt einen Wahrheitswert zurück, abhängig davon, ob der linksstehende Ausdruck kleiner-gleich dem rechtsstehenden Ausdruck ist.
Die Funktion ''lessThanOrEqual'' vergleicht zwei Ausdrücke der Größe nach miteinander und gibt einen Wahrheitswert zurück, abhängig davon, ob der linksstehende Ausdruck kleiner-gleich dem rechtsstehenden Ausdruck ist.
Zeile 4: Zeile 7:
===Syntax===
===Syntax===
  a <= b
  a <= b
lessThanOrEqual(a,b)


===Parameter===
===Parameter===
* '''a''' - double
* '''a''' - [[Ausdruck]] oder [[Gleitkommazahl]]
* '''b''' - double
* '''b''' - [[Ausdruck]] oder [[Gleitkommazahl]]


===Return Value===
===Return Value===
Zeile 14: Zeile 18:


===Beispiele===
===Beispiele===
  <math>2 <= 4</math>   --> returns ''true''
  2 <= 4    --> returns ''true''
 
  <math>4 <= 4</math>   --> returns ''true''
  4 <= 4    --> returns ''true''
 
  <math>3 <= 2</math>   --> returns ''false''
  lessThanOrEqual(3, 2)   --> returns ''false''
 
====JUnit Tests====
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed">
@Before
public void beforeTest() {
  placeFillInVariable(1, OMParser.parse("3"));
  placeFillInVariable(2, OMParser.parse("1"));
  placeFillInVariable(3, OMParser.parse("2.5"));
  placeExerciseVariable("a", OMParser.parse("8"));
  placeExerciseVariable("b", OMParser.parse("25"));
  placeExerciseVariable("c", OMParser.parse("2.5"));
}
@Test
public void testLessThanOrEqual(){
  assertTrue(!getEvaluator().getBooleanResult("22<=8"));
  assertTrue(getEvaluator().getBooleanResult("8<=8"));
  assertTrue(getEvaluator().getBooleanResult("2<=8"));
  assertTrue(getEvaluator().getBooleanResult("8<=9"));
  assertTrue(!getEvaluator().getBooleanResult("45<=7"));
  assertTrue(getEvaluator().getBooleanResult("7<=7"));
  assertTrue(getEvaluator().getBooleanResult("-0.2<=0"));
  assertTrue(getEvaluator().getBooleanResult("0<=0"));
}
@Test
public void testLessThanOrEqualWithVariables(){
  assertTrue(!getEvaluator().getBooleanResult("22<=[var=a]"));
  assertTrue(getEvaluator().getBooleanResult("3<=[var=a]"));
  assertTrue(getEvaluator().getBooleanResult("2<=[var=a]"));
  assertTrue(getEvaluator().getBooleanResult("8<=[var=b]"));
  assertTrue(getEvaluator().getBooleanResult("8<=[var=a]"));
  assertTrue(!getEvaluator().getBooleanResult("[var=b]<=23"));
  assertTrue(getEvaluator().getBooleanResult("[var=a]<=[var=a]"));
  assertTrue(getEvaluator().getBooleanResult("[var=a]<=[var=b]"));
  assertTrue(!getEvaluator().getBooleanResult("[var=b]<=[var=a]"));
}
@Test
public void testLessThanOrEqualWithInput(){
  assertTrue(!getEvaluator().getBooleanResult("22<=[pos=1]"));
  assertTrue(getEvaluator().getBooleanResult("3<=[pos=1]"));
  assertTrue(getEvaluator().getBooleanResult("2<=[pos=1]"));
  assertTrue(getEvaluator().getBooleanResult("3<=[pos=1]"));
  assertTrue(getEvaluator().getBooleanResult("[pos=2]<=5"));
  assertTrue(!getEvaluator().getBooleanResult("5<=[pos=2]"));
  assertTrue(!getEvaluator().getBooleanResult("[pos=1]<=[pos=2]"));
}
@Test
public void testLessThanOrEqualWithEncapsulation(){
  assertTrue(getEvaluator().getBooleanResult("1 <= (1 <= 2)"));
  assertTrue(getEvaluator().getBooleanResult("1 <= (1 <= (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 testLessThanOrEqualWithWrongInputCharacter() {
  getEvaluator().getBooleanResult("6 <= a");
}
@Test(expected=UnsupportedBinaryOperatorException.class)
public void testLessThanOrEqualWithWrongInputString() {
  getEvaluator().getBooleanResult("6 <= 'a'");
}
@Test (expected=UndefinedExerciseVariableException.class)
public void testLessThanOrEqualWithMissingExcerciseVariable() {
  getEvaluator().getBooleanResult("[var=j] <= 2");
}
@Test (expected=UndefinedFillInVariableException.class)
public void testLessThanOrEqualWithMissingInput() {
  getEvaluator().getBooleanResult("[pos=42] <= 2");
}
</syntaxhighlight>


===Hinweise===
===Hinweise===
* Als Ausdrücke werden insbesondere auch die Komplexen Zahlen erlaubt. Eine Beschreibung der Vorschrift kann [[:Kategorie:Relationaler_Operator#Besonderheiten|hier]] gefunden werden.
* In [[XML-Dateien]] muss das ''lessThanOrEqual'' Zeichen "<=" als ''&amp;lt;='' angegeben werden.
* Diese Funktion ist ein binärer Operator, sogar ein relationaler Operator.
====Verwandte Funktionen====
Folgende Funktionen stehen mit ''lessThanOrEqual'' in Verbindung:
* [[lessThan]]
* [[greaterThan]]
* [[greaterThanOrEqual]]


[[Kategorie:Evaluatorfunktion]]
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:Testfunktionen]][[Category:Operator]][[Kategorie:JACK2]][[Kategorie:JACK3]]

Aktuelle Version vom 18. April 2024, 11:32 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

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

Syntax

a <= b
lessThanOrEqual(a,b)

Parameter

Return Value

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

Beispiele

2 <= 4    --> returns true

4 <= 4    --> returns true

lessThanOrEqual(3, 2)    --> returns false

Hinweise

  • Als Ausdrücke werden insbesondere auch die Komplexen Zahlen erlaubt. Eine Beschreibung der Vorschrift kann hier gefunden werden.
  • In XML-Dateien muss das lessThanOrEqual Zeichen "<=" als &lt;= angegeben werden.
  • Diese Funktion ist ein binärer Operator, sogar ein relationaler Operator.

Verwandte Funktionen

Folgende Funktionen stehen mit lessThanOrEqual in Verbindung: