LessThan: Unterschied zwischen den Versionen

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


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


===Return Value===
===Return Value===
Zeile 14: Zeile 17:


===Beispiele===
===Beispiele===
  <math>3 < 5</math>
  3 < 5   --> returns ''true''
 
====JUnit Tests====
lessThan(5, 3)   --> returns ''false''
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
@BeforeClass
public static void beforeTest() throws FunctionNotImplementedException, UndefinedFillInVariableException,
UndefinedExerciseVariableException, ParserException, ErroneousFillInVariableException, ErroneousExerciseVariableException {
lessThanFillInVariableMap.put(1, ExpressionParser.parse("3", null, null));
lessThanFillInVariableMap.put(2, ExpressionParser.parse("1", null, null));
 
lessThanExerciseVariableMap.put("a", ExpressionParser.parse("8", null, null));
lessThanExerciseVariableMap.put("b", ExpressionParser.parse("25", null, null));
}
 
@Test
public void testLessThan1() {
assertTrue(Evaluator.getBooleanResult("8<22", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThan2() {
assertTrue(!Evaluator.getBooleanResult("22<8", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThan3() {
assertTrue(Evaluator.getBooleanResult("3.5<5.7", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThan4() {
assertTrue(Evaluator.getBooleanResult("-1<1", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThan5() {
assertTrue(Evaluator.getBooleanResult("-0.2<0", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithExerciseVariables1() {
assertTrue(Evaluator.getBooleanResult("8<[var=b]", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithExerciseVariables2() {
assertTrue(!Evaluator.getBooleanResult("9<[var=a]", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithExerciseVariables3() {
assertTrue(!Evaluator.getBooleanResult("22<[var=a]", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithExerciseVariables4() {
assertTrue(Evaluator.getBooleanResult("[var=a]<100", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithExerciseVariables5() {
assertTrue(Evaluator.getBooleanResult("2<[var=a]", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithExerciseVariables6() {
assertTrue(
Evaluator.getBooleanResult("[var=a]<[var=b]", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithExerciseVariables7() {
assertTrue(
!Evaluator.getBooleanResult("[var=b]<[var=a]", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithInput1() {
assertTrue(Evaluator.getBooleanResult("2<[pos=1]", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithInput2() {
assertTrue(Evaluator.getBooleanResult("[pos=2]<34", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithInput3() {
assertTrue(!Evaluator.getBooleanResult("2<[pos=2]", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithInput4() {
assertTrue(!Evaluator.getBooleanResult("22<[pos=1]", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithInput5() {
assertTrue(Evaluator.getBooleanResult("2<[pos=1]", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithInput6() {
assertTrue(
Evaluator.getBooleanResult("[pos=2]<[pos=1]", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithInput7() {
assertTrue(
!Evaluator.getBooleanResult("[pos=1]<[pos=2]", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithEncapsulation1() {
assertTrue(!Evaluator.getBooleanResult("1 < (1 < 2)", lessThanExerciseVariableMap, lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithEncapsulation2() {
assertTrue(Evaluator.getBooleanResult("0 < (0 < (0 < 1))", lessThanExerciseVariableMap,
lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithEncapsulation3() {
assertTrue(Evaluator.getBooleanResult("0 < (0 < (0 < (0 < (0 < 1))))", lessThanExerciseVariableMap,
lessThanFillInVariableMap));
}
 
@Test
public void testLessThanWithEncapsulation4() {
assertTrue(!Evaluator.getBooleanResult("((((1 < 1) < 1) < 1) < 1) < 1", lessThanExerciseVariableMap,
lessThanFillInVariableMap));
}
 
@Test(expected = ParserException.class)
public void testLessThanWithWrongInputCharacter() {
Evaluator.getBooleanResult("6 < ab", lessThanExerciseVariableMap, lessThanFillInVariableMap);
}
 
@Test(expected = FunctionInvalidArgumentTypeException.class)
public void testLessThanWithWrongInputString() {
Evaluator.getBooleanResult("6 < 'a'", lessThanExerciseVariableMap, lessThanFillInVariableMap);
fail();
}
 
@Test(expected = UndefinedExerciseVariableException.class)
public void testLessThanWithMissingExcerciseVariable() {
Evaluator.getBooleanResult("[var=j] < 2", lessThanExerciseVariableMap, lessThanFillInVariableMap);
fail();
}
 
@Test(expected = UndefinedFillInVariableException.class)
public void testLessThanWithMissingInput() {
Evaluator.getBooleanResult("[pos=42] < 2", lessThanExerciseVariableMap, lessThanFillInVariableMap);
fail();
}
</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 ''lessThan'' Zeichen "<" als ''&amp;lt;'' angegeben werden.
* Diese Funktion ist ein binärer Operator, sogar ein relationaler Operator.
====Verwandte Funktionen====
Folgende Funktionen stehen mit ''lessThan'' in Verbindung:
* [[lessThanOrEqual]]
* [[greaterThan]]
* [[greaterThanOrEqual]]


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

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

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

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

Syntax

a < b
lessThan(a,b)

Parameter

Return Value

  • Gibt einen Boolean zurück

Beispiele

3 < 5    --> returns true

lessThan(5, 3)    --> 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 lessThan Zeichen "<" als &lt; angegeben werden.
  • Diese Funktion ist ein binärer Operator, sogar ein relationaler Operator.

Verwandte Funktionen

Folgende Funktionen stehen mit lessThan in Verbindung: