BooleanOr: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
===Zugehörige Evaluatoren===
*'''ChemEvaluator'''
*'''MathEvaluator'''
===Beschreibung===
===Beschreibung===
Die Funktion ''BooleanOr'' ("||") vergleicht zwei Aussagen auf ''true'' oder ''false''. Es wird nur dann ''false'' zurückgegeben, wenn beide Aussagen ''false'' sind.
Die Funktion ''BooleanOr'' ("||") vergleicht zwei Aussagen auf ''true'' oder ''false''. Es wird nur dann ''false'' zurückgegeben, wenn beide Aussagen ''false'' sind.


===Syntax===
===Syntax===
x || y
  x || y
  or(x,y)


===Parameter===
===Parameter===
Zeile 13: Zeile 18:


===Beispiele===
===Beispiele===
  1 || 1    --> True
==== Standardfälle ====
  0 || 1    --> True
1 || 1    --> returns ''true''
  1 || 0    --> True
  0 || 0    --> False
0 || 1    --> returns ''true''
 
  (2+4==6) || (3+3==6)    --> True
1 || 0    --> returns ''true''
 
====JUnit Tests====
0 || 0    --> returns ''false''
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
(2+4==6) || (3+3==6)    --> returns ''true''
@Test
public void testBooleanOr1() {
assertTrue(Evaluator.getBooleanResult("1 || 1", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOr2() {
assertTrue(Evaluator.getBooleanResult("0 || 1", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOr3() {
assertTrue(Evaluator.getBooleanResult("1 || 0", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOr4() {
assertTrue(!Evaluator.getBooleanResult("0 || 0", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOr5() {
assertEquals(true, Evaluator.getBooleanResult("(2+4==6) || (3+3==6)", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOrWithVariables1() {
assertTrue(Evaluator.getBooleanResult("[pos=2] || 1", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOrWithVariables2() {
assertTrue(Evaluator.getBooleanResult("1 || [pos=1]", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOrWithInput1() {
assertTrue(Evaluator.getBooleanResult("[var=b] || 1", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOrWithInput2() {
assertTrue(Evaluator.getBooleanResult("1 || [var=a]", exerciseVariableMap, fillInVariableMap) );
}
 
@Test
public void testBooleanOrWithEncapsulation1() {
assertTrue(!Evaluator.getBooleanResult("0 || (0 || 0)", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOrWithEncapsulation2() {
assertTrue(Evaluator.getBooleanResult("1 || (1 || 1)", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOrWithEncapsulation3() {
assertTrue(!Evaluator.getBooleanResult("0 || (0 || (0 || (0 ||(0 || 0))))", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOrWithEncapsulation4() {
assertTrue(Evaluator.getBooleanResult("1 || (1 || (1 || (1 || (1 || 1))))", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOrWithEncapsulation5() {
assertTrue(!Evaluator.getBooleanResult("((((0 || 0) || 0) || 0) || 0) || 0", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOrWithEncapsulation6() {
assertTrue(Evaluator.getBooleanResult("((((1 || 1) || 1) || 1) || 1) || 1", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOrWithDifferentNumbers1() {
assertTrue(Evaluator.getBooleanResult("2 || 2", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOrWithDifferentNumbers2() {
assertTrue(Evaluator.getBooleanResult("-1 || 2", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOrWithDifferentNumbers3() {
assertFalse(Evaluator.getBooleanResult("-1 || 0", exerciseVariableMap, fillInVariableMap));
}
 
@Test
public void testBooleanOrWithDifferentNumbers4() {
assertTrue(Evaluator.getBooleanResult("2.34 || 1.11", exerciseVariableMap, fillInVariableMap));
}
 
@Test(expected=ParserException.class)
public void testBooleanOrWithWrongInputCharacter() {
Evaluator.getBooleanResult("1 || ab", exerciseVariableMap, fillInVariableMap);
fail();
}
 
@Test(expected=FunctionInvalidArgumentTypeException.class)
public void testBooleanOrWithWrongInputString() {
Evaluator.getBooleanResult("1 || 'a'", exerciseVariableMap, fillInVariableMap);
fail();
}


@Test (expected=UndefinedExerciseVariableException.class)
==== Benutzung mit Variablen ====
public void testBooleanOrMissingExcerciseVariable() {
Evaluator.getBooleanResult("[var=j] || 1", exerciseVariableMap, fillInVariableMap);
fail();
}


@Test (expected=UndefinedFillInVariableException.class)
[var=a] || [var=b]
public void testBooleanOrWithMissingInput() {
Evaluator.getBooleanResult("[pos=42] || 1", exerciseVariableMap, fillInVariableMap);
fail();
}
</syntaxhighlight>


===Hinweise===
===Hinweise===
* erwartet zwei boolsche Ausdrücke
* Es werden zwei boolsche Ausdrücke erwartet.
* Diese Funktion ist ein binärer Operator.


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

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

Zugehörige Evaluatoren

  • ChemEvaluator
  • MathEvaluator

Beschreibung

Die Funktion BooleanOr ("||") vergleicht zwei Aussagen auf true oder false. Es wird nur dann false zurückgegeben, wenn beide Aussagen false sind.

Syntax

 x || y
 or(x,y)

Parameter

Return Value

  • Gibt einen Boolean zurück.

Beispiele

Standardfälle

1 || 1    --> returns true

0 || 1    --> returns true

1 || 0    --> returns true

0 || 0    --> returns false

(2+4==6) || (3+3==6)    --> returns true

Benutzung mit Variablen

[var=a] || [var=b]

Hinweise

  • Es werden zwei boolsche Ausdrücke erwartet.
  • Diese Funktion ist ein binärer Operator.