GreaterThan: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(21 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''MathEvaluator'''
===Beschreibung===
===Beschreibung===
Die Funktion ''greaterThan'' vergleicht zwei Ausdrücke nach der Größe miteinander.
Die Funktion ''greaterThan'' vergleicht zwei Ausdrücke nach der Größe miteinander.
Zeile 4: Zeile 7:
===Syntax===
===Syntax===
  a > b
  a > b
greaterThan(a,b)


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


===Return Value===
===Return Value===
* Gibt einen Boolean zurück
* Gibt einen [[Boolean]] zurück


===Beispiele===
=== Beispiele ===
  <math>6 > 3</math>
==== Standardfälle ====
  6 > 3  --> returns ''true''
greaterThan(3, 6)    --> returns ''false''


====JUnit Tests====
==== Benutzung mit Variablen ====
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
[var=a] > 3
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
@Before
greaterThan([var=a], 6)
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 testGreaterThan(){
  assertTrue(getEvaluator().getBooleanResult("22>8"));
  assertTrue(!getEvaluator().getBooleanResult("2>8"));
  assertTrue(getEvaluator().getBooleanResult("5.7>3.5"));
  assertTrue(getEvaluator().getBooleanResult("1>-1"));
  assertTrue(getEvaluator().getBooleanResult("0.2>0"));
}
@Test
public void testGreaterThanWithVariables() {
  assertTrue(getEvaluator().getBooleanResult("[var=b]>8"));
  assertTrue(!getEvaluator().getBooleanResult("[var=a]>9"));
  assertTrue(getEvaluator().getBooleanResult("[var=b]>[var=a]"));
  assertTrue(!getEvaluator().getBooleanResult("[var=a]>[var=b]"));
  assertTrue(getEvaluator().getBooleanResult("22>[var=a]"));
  assertTrue(!getEvaluator().getBooleanResult("2>[var=a]"));
}
@Test
public void testGreaterThanWithInput() {
  assertTrue(getEvaluator().getBooleanResult("[pos=1]>2"));
  assertTrue(getEvaluator().getBooleanResult("34>[pos=2]"));
  assertTrue(!getEvaluator().getBooleanResult("[pos=2]>2"));
  assertTrue(getEvaluator().getBooleanResult("[pos=1]>[pos=2]"));
  assertTrue(!getEvaluator().getBooleanResult("[pos=2]>[pos=1]"));
  assertTrue(getEvaluator().getBooleanResult("22>[pos=1]"));
  assertTrue(!getEvaluator().getBooleanResult("2>[pos=1]"));
}


@Test
==== Benutzung mit studentischen Eingaben ====
public void testGreaterThanWithEncapsulation(){
'''Jack3''':
  assertTrue(getEvaluator().getBooleanResult("1 > (1 > 2)"));
6 > [input=fillin1]
  assertTrue(!getEvaluator().getBooleanResult("1 > (1 > (1 > 2))"));
  assertTrue(!getEvaluator().getBooleanResult("1 > (1 > (1 > (1 > (1 > 2))))"));
greaterThan(6, [input=fillin1])
  assertTrue(getEvaluator().getBooleanResult("((((1 > 1) > 1) > 1) > 1) > -1"));
}
@Test(expected=ParserMismatchException.class)
public void testGreaterThanWithWrongInputCharacter() {
  getEvaluator().getBooleanResult("6 > a");
}
@Test(expected=UnsupportedBinaryOperatorException.class)
public void testGreaterThanWithWrongInputString() {
  getEvaluator().getBooleanResult("6 > 'a'");
}
@Test (expected=UndefinedExerciseVariableException.class)
public void testGreaterThanWithMissingExcerciseVariable() {
  getEvaluator().getBooleanResult("[var=j] > 2");
}
@Test (expected=UndefinedFillInVariableException.class)
public void testGreaterThanWithMissingInput() {
  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 ''greaterThan'' Zeichen ">" als ''&amp;gt;'' angegeben werden.
* Diese Funktion ist ein binärer Operator, sogar ein relationaler Operator.
====Verwandte Funktionen====
Folgende Funktionen stehen mit ''greaterThan'' in Verbindung:
* [[greaterThanOrEqual]]
* [[lessThan]]
* [[lessThanOrEqual]]


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

Aktuelle Version vom 18. April 2024, 10:30 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion greaterThan vergleicht zwei Ausdrücke nach der Größe miteinander.

Syntax

a > b
greaterThan(a,b)

Parameter

Return Value

Beispiele

Standardfälle

6 > 3   --> returns true

greaterThan(3, 6)    --> returns false

Benutzung mit Variablen

[var=a] > 3

greaterThan([var=a], 6)

Benutzung mit studentischen Eingaben

Jack3:
6 > [input=fillin1]

greaterThan(6, [input=fillin1])

Hinweise

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

Verwandte Funktionen

Folgende Funktionen stehen mit greaterThan in Verbindung: