@Test(expected = IllegalArgumentException.class) public void testNOfFunctionInderterminate() throws EvaluationException { IntegerExp n = IntegerExp.of(4); replay(context); assertEquals( BooleanExp.valueOf(false), LogicalFunctions.nof(context, n, BooleanExp.valueOf(false))); verify(context); }
@Test public void testLazyAndFunctionParamEvaluation() throws EvaluationException { Expression p1 = control.createMock(Expression.class); Expression p2 = control.createMock(Expression.class); Expression p3 = control.createMock(Expression.class); expect(p1.evaluate(context)).andReturn(BooleanExp.valueOf(false)); control.replay(); assertEquals(BooleanExp.valueOf(false), LogicalFunctions.and(context, p1, p2, p3)); control.verify(); control.reset(); expect(p1.evaluate(context)).andReturn(BooleanExp.valueOf(true)); expect(p2.evaluate(context)).andReturn(BooleanExp.valueOf(false)); control.replay(); assertEquals(BooleanExp.valueOf(false), LogicalFunctions.and(context, p1, p2, p3)); control.verify(); control.reset(); expect(p1.evaluate(context)).andReturn(BooleanExp.valueOf(true)); expect(p2.evaluate(context)).andReturn(BooleanExp.valueOf(true)); expect(p3.evaluate(context)).andReturn(BooleanExp.valueOf(false)); control.replay(); assertEquals(BooleanExp.valueOf(false), LogicalFunctions.and(context, p1, p2, p3)); control.verify(); }
@Test public void testAndFunction() throws EvaluationException { control.replay(); assertEquals( BooleanExp.valueOf(false), LogicalFunctions.and(context, BooleanExp.valueOf(false), BooleanExp.valueOf(false))); control.verify(); control.reset(); control.replay(); assertEquals( BooleanExp.valueOf(false), LogicalFunctions.and(context, BooleanExp.valueOf(true), BooleanExp.valueOf(false))); control.verify(); control.reset(); control.replay(); assertEquals( BooleanExp.valueOf(true), LogicalFunctions.and(context, BooleanExp.valueOf(true), BooleanExp.valueOf(true))); control.verify(); control.reset(); control.replay(); assertEquals( BooleanExp.valueOf(false), LogicalFunctions.and(context, BooleanExp.valueOf(false), BooleanExp.valueOf(true))); control.verify(); }
@Test public void testNOfFunction() throws EvaluationException { IntegerExp n = IntegerExp.of(0); replay(context); assertEquals(BooleanExp.valueOf(true), LogicalFunctions.nof(context, n)); verify(context); reset(context); replay(context); n = IntegerExp.of(1); assertEquals( BooleanExp.valueOf(true), LogicalFunctions.nof(context, n, BooleanExp.valueOf(true))); verify(context); reset(context); replay(context); assertEquals( BooleanExp.valueOf(false), LogicalFunctions.nof(context, n, BooleanExp.valueOf(false))); verify(context); reset(context); replay(context); n = IntegerExp.of(2); assertEquals( BooleanExp.valueOf(true), LogicalFunctions.nof(context, n, BooleanExp.valueOf(true), BooleanExp.valueOf(true))); verify(context); reset(context); replay(context); assertEquals( BooleanExp.valueOf(false), LogicalFunctions.nof(context, n, BooleanExp.valueOf(true), BooleanExp.valueOf(false))); verify(context); reset(context); replay(context); n = IntegerExp.of(2); assertEquals( BooleanExp.valueOf(true), LogicalFunctions.nof( context, n, BooleanExp.valueOf(true), BooleanExp.valueOf(false), BooleanExp.valueOf(true))); verify(context); }