BooleanAnd: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
Zeile 21: Zeile 21:


====JUnit Tests====
====JUnit Tests====
<span class="mw-customtoggle-myDivision">[Anzeigen]</span>
<syntaxhighlight lang="java" class="mw-collapsible mw-collapsed" id="mw-customcollapsible-myDivision">
@Test
@Test
public void testBooleanOr1() {
public void testBooleanAnd1() {
assertTrue(Evaluator.getBooleanResult("1 || 1", exerciseVariableMap, fillInVariableMap));
assertTrue(Evaluator.getBooleanResult("1 && 1", exerciseVariableMap, fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOr2() {
public void testBooleanAnd2() {
assertTrue(Evaluator.getBooleanResult("0 || 1", exerciseVariableMap, fillInVariableMap));
assertTrue(!Evaluator.getBooleanResult("0 && 1", exerciseVariableMap, fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOr3() {
public void testBooleanAnd3() {
assertTrue(Evaluator.getBooleanResult("1 || 0", exerciseVariableMap, fillInVariableMap));
assertTrue(!Evaluator.getBooleanResult("1 && 0", exerciseVariableMap, fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOr4() {
public void testBooleanAnd4() {
assertTrue(!Evaluator.getBooleanResult("0 || 0", exerciseVariableMap, fillInVariableMap));
assertTrue(!Evaluator.getBooleanResult("0 && 0", exerciseVariableMap, fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOr5() {
public void testBooleanAnd5() {
assertEquals(true, Evaluator.getBooleanResult("(2+4==6) || (3+3==6)", exerciseVariableMap, fillInVariableMap));
assertEquals(true, Evaluator.getBooleanResult("(2+4==6) && (3+3==6)", exerciseVariableMap, fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOrWithVariables1() {
public void testBooleanAndWithVariables1() {
assertTrue(Evaluator.getBooleanResult("[pos=2] || 1", exerciseVariableMap, fillInVariableMap));
assertTrue(Evaluator.getBooleanResult("[pos=2] && 1", exerciseVariableMap, fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOrWithVariables2() {
public void testBooleanAndWithVariables2() {
assertTrue(Evaluator.getBooleanResult("1 || [pos=1]", exerciseVariableMap, fillInVariableMap));
assertFalse(Evaluator.getBooleanResult("0 && [pos=2]", exerciseVariableMap, fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOrWithInput1() {
public void testBooleanAndWithInput1() {
assertTrue(Evaluator.getBooleanResult("[var=b] || 1", exerciseVariableMap, fillInVariableMap));
assertTrue(Evaluator.getBooleanResult("[var=b] && 1", exerciseVariableMap, fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOrWithInput2() {
public void testBooleanAndWithInput2() {
assertTrue(Evaluator.getBooleanResult("1 || [var=a]", exerciseVariableMap, fillInVariableMap) );
assertFalse(Evaluator.getBooleanResult("0 && [var=a]", exerciseVariableMap, fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOrWithEncapsulation1() {
public void testBooleanAndWithEncapsulation1() {
assertTrue(!Evaluator.getBooleanResult("0 || (0 || 0)", exerciseVariableMap, fillInVariableMap));
assertFalse(Evaluator.getBooleanResult("1 && (1 && 0)", exerciseVariableMap, fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOrWithEncapsulation2() {
public void testBooleanAndWithEncapsulation2() {
assertTrue(Evaluator.getBooleanResult("1 || (1 || 1)", exerciseVariableMap, fillInVariableMap));
assertTrue(Evaluator.getBooleanResult("1 && (1 && 1)", exerciseVariableMap, fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOrWithEncapsulation3() {
public void testBooleanAndWithEncapsulation3() {
assertTrue(!Evaluator.getBooleanResult("0 || (0 || (0 || (0 ||(0 || 0))))", exerciseVariableMap, fillInVariableMap));
assertFalse(Evaluator.getBooleanResult("1 && (1 && (1 && (1 &&(1 && 0))))", exerciseVariableMap,
fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOrWithEncapsulation4() {
public void testBooleanAndWithEncapsulation4() {
assertTrue(Evaluator.getBooleanResult("1 || (1 || (1 || (1 || (1 || 1))))", exerciseVariableMap, fillInVariableMap));
assertTrue(Evaluator.getBooleanResult("1 && (1 && (1 && (1 && (1 && 1))))", exerciseVariableMap,
fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOrWithEncapsulation5() {
public void testBooleanAndWithEncapsulation5() {
assertTrue(!Evaluator.getBooleanResult("((((0 || 0) || 0) || 0) || 0) || 0", exerciseVariableMap, fillInVariableMap));
assertFalse(Evaluator.getBooleanResult("((((0 && 1) && 1) && 1) && 1) && 1", exerciseVariableMap,
fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOrWithEncapsulation6() {
public void testBooleanAndWithEncapsulation6() {
assertTrue(Evaluator.getBooleanResult("((((1 || 1) || 1) || 1) || 1) || 1", exerciseVariableMap, fillInVariableMap));
assertTrue(Evaluator.getBooleanResult("((((1 && 1) && 1) && 1) && 1) && 1", exerciseVariableMap,
fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOrWithDifferentNumbers1() {
public void testBooleanAndWithDifferentNumbers1() {
assertTrue(Evaluator.getBooleanResult("2 || 2", exerciseVariableMap, fillInVariableMap));
assertTrue(Evaluator.getBooleanResult("2 && 2", exerciseVariableMap, fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOrWithDifferentNumbers2() {
public void testBooleanAndWithDifferentNumbers2() {
assertTrue(Evaluator.getBooleanResult("-1 || 2", exerciseVariableMap, fillInVariableMap));
assertFalse(Evaluator.getBooleanResult("-1 && 2", exerciseVariableMap, fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOrWithDifferentNumbers3() {
public void testBooleanAndWithDifferentNumbers3() {
assertFalse(Evaluator.getBooleanResult("-1 || 0", exerciseVariableMap, fillInVariableMap));
assertFalse(Evaluator.getBooleanResult("-1 && 0", exerciseVariableMap, fillInVariableMap));
}
}


@Test
@Test
public void testBooleanOrWithDifferentNumbers4() {
public void testBooleanAndWithDifferentNumbers4() {
assertTrue(Evaluator.getBooleanResult("2.34 || 1.11", exerciseVariableMap, fillInVariableMap));
assertTrue(Evaluator.getBooleanResult("2.34 && 1.11", exerciseVariableMap, fillInVariableMap));
}
}


@Test(expected=ParserException.class)
@Test(expected = ParserException.class)
public void testBooleanOrWithWrongInputCharacter() {
public void testBooleanAndWithWrongInputCharacter() {
Evaluator.getBooleanResult("1 || ab", exerciseVariableMap, fillInVariableMap);
Evaluator.getBooleanResult("1 && ab", exerciseVariableMap, fillInVariableMap);
fail();
fail();
}
}


@Test(expected=FunctionInvalidArgumentTypeException.class)
@Test(expected = FunctionInvalidArgumentTypeException.class)
public void testBooleanOrWithWrongInputString() {
public void testBooleanAndWithWrongInputString() {
Evaluator.getBooleanResult("1 || 'a'", exerciseVariableMap, fillInVariableMap);
Evaluator.getBooleanResult("1 && 'a'", exerciseVariableMap, fillInVariableMap);
fail();
fail();
}
}


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


@Test (expected=UndefinedFillInVariableException.class)
@Test(expected = UndefinedFillInVariableException.class)
public void testBooleanOrWithMissingInput() {
public void testBooleanAndWithMissingInput() {
Evaluator.getBooleanResult("[pos=42] || 1", exerciseVariableMap, fillInVariableMap);
Evaluator.getBooleanResult("[pos=42] && 1", exerciseVariableMap, fillInVariableMap);
fail();
fail();
}
}

Version vom 18. September 2017, 11:32 Uhr

Beschreibung

Die Funktion BooleanAnd ("&&") aus der Bool'schen Algebra vergleicht zwei Aussagen auf "true" oder "false". Der Ausdruck x && y gibt true zurück, wenn x und y beide true sind, ansonsten wird immer false zurückgegeben.

Syntax

x && y

Parameter

  • x - boolean
  • y - boolean

Return Value

  • Gibt einen Boolean zurück.

Beispiele

 1 && 1    --> true
 0 && 1    --> false
 1 && 0    --> false
 0 && 0    --> false
 (2+4==6) && (3+3==6)    --> true

JUnit Tests

@Test public void testBooleanAnd1() { assertTrue(Evaluator.getBooleanResult("1 && 1", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAnd2() { assertTrue(!Evaluator.getBooleanResult("0 && 1", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAnd3() { assertTrue(!Evaluator.getBooleanResult("1 && 0", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAnd4() { assertTrue(!Evaluator.getBooleanResult("0 && 0", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAnd5() { assertEquals(true, Evaluator.getBooleanResult("(2+4==6) && (3+3==6)", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAndWithVariables1() { assertTrue(Evaluator.getBooleanResult("[pos=2] && 1", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAndWithVariables2() { assertFalse(Evaluator.getBooleanResult("0 && [pos=2]", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAndWithInput1() { assertTrue(Evaluator.getBooleanResult("[var=b] && 1", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAndWithInput2() { assertFalse(Evaluator.getBooleanResult("0 && [var=a]", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAndWithEncapsulation1() { assertFalse(Evaluator.getBooleanResult("1 && (1 && 0)", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAndWithEncapsulation2() { assertTrue(Evaluator.getBooleanResult("1 && (1 && 1)", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAndWithEncapsulation3() { assertFalse(Evaluator.getBooleanResult("1 && (1 && (1 && (1 &&(1 && 0))))", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAndWithEncapsulation4() { assertTrue(Evaluator.getBooleanResult("1 && (1 && (1 && (1 && (1 && 1))))", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAndWithEncapsulation5() { assertFalse(Evaluator.getBooleanResult("((((0 && 1) && 1) && 1) && 1) && 1", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAndWithEncapsulation6() { assertTrue(Evaluator.getBooleanResult("((((1 && 1) && 1) && 1) && 1) && 1", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAndWithDifferentNumbers1() { assertTrue(Evaluator.getBooleanResult("2 && 2", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAndWithDifferentNumbers2() { assertFalse(Evaluator.getBooleanResult("-1 && 2", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAndWithDifferentNumbers3() { assertFalse(Evaluator.getBooleanResult("-1 && 0", exerciseVariableMap, fillInVariableMap)); }

@Test public void testBooleanAndWithDifferentNumbers4() { assertTrue(Evaluator.getBooleanResult("2.34 && 1.11", exerciseVariableMap, fillInVariableMap)); }

@Test(expected = ParserException.class) public void testBooleanAndWithWrongInputCharacter() { Evaluator.getBooleanResult("1 && ab", exerciseVariableMap, fillInVariableMap); fail(); }

@Test(expected = FunctionInvalidArgumentTypeException.class) public void testBooleanAndWithWrongInputString() { Evaluator.getBooleanResult("1 && 'a'", exerciseVariableMap, fillInVariableMap); fail(); }

@Test(expected = UndefinedExerciseVariableException.class) public void testBooleanAndMissingExcerciseVariable() { Evaluator.getBooleanResult("[var=j] && 1", exerciseVariableMap, fillInVariableMap); fail(); }

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

Hinweise

  • erwartet zwei boolsche Ausdrücke