@Test public void shouldEvaluateToFalseForAllDefinedValues() { assertFalse(undefined().evaluate((byte) 2)); assertFalse(undefined().evaluate('e')); assertFalse(undefined().evaluate(true)); assertFalse(undefined().evaluate(Boolean.FALSE)); assertFalse(undefined().evaluate(1)); assertFalse(undefined().evaluate(123L)); assertFalse(undefined().evaluate(new Long("1232384712957129"))); assertFalse(undefined().evaluate((short) 33)); assertFalse(undefined().evaluate((float) 3.14000)); assertFalse(undefined().evaluate((float) 3.14000)); assertFalse(undefined().evaluate(3.14000)); assertFalse(undefined().evaluate("test")); assertFalse(undefined().evaluate("")); assertTrue(undefined().evaluate(UndefinedValue.getInstance())); assertFalse(undefined().evaluate(new byte[] {2, 3, 4})); assertFalse(undefined().evaluate(new char[] {'2', 3, '4'})); assertFalse(undefined().evaluate(new boolean[] {true, Boolean.FALSE})); assertFalse(undefined().evaluate(new int[] {2, 3, 4})); assertFalse(undefined().evaluate(new long[] {2L, 3L, 4L})); assertFalse(undefined().evaluate(new short[] {2, 3, 4})); assertFalse(undefined().evaluate(new float[] {2.15f, 3.1988f, 4.232f})); assertFalse(undefined().evaluate(new double[] {2.15, 3.1988, 4.232})); }
@Test public void shouldCorrectlyJudgeMoreGeneral() { assertFalse(undefined().isMoreGeneralThan(equalTo(2))); assertTrue(undefined().isMoreGeneralThan(equalTo(UndefinedValue.getInstance()))); assertTrue(undefined().isMoreGeneralThan(undefined())); assertFalse(undefined().isMoreGeneralThan(greaterThan(2))); assertFalse(undefined().isMoreGeneralThan(lessThan(2))); assertFalse(undefined().isMoreGeneralThan(any())); assertFalse(undefined().isMoreGeneralThan(new Or(equalTo(2), equalTo(3)))); assertFalse(undefined().isMoreGeneralThan(lessThanOrEqualTo(2))); assertFalse(undefined().isMoreGeneralThan(greaterThanOrEqualTo(2))); }
@Test public void shouldCorrectlyJudgeMutuallyExclusive() { assertTrue(undefined().isMutuallyExclusive(equalTo(2))); assertFalse(undefined().isMutuallyExclusive(equalTo(UndefinedValue.getInstance()))); assertFalse(undefined().isMutuallyExclusive(undefined())); assertTrue(undefined().isMutuallyExclusive(equalTo(3))); assertTrue(undefined().isMutuallyExclusive(equalTo(2L))); assertTrue(undefined().isMutuallyExclusive(equalTo((short) 2))); assertTrue(undefined().isMutuallyExclusive(greaterThan(2))); assertTrue(undefined().isMutuallyExclusive(greaterThan(1))); assertTrue(undefined().isMutuallyExclusive(lessThan(2))); assertTrue(undefined().isMutuallyExclusive(lessThan(3))); assertFalse(undefined().isMutuallyExclusive(any())); assertTrue(undefined().isMutuallyExclusive(new Or(equalTo(2), equalTo(3)))); assertTrue(undefined().isMutuallyExclusive(greaterThanOrEqualTo(2))); assertTrue(undefined().isMutuallyExclusive(lessThanOrEqualTo(2))); assertTrue(undefined().isMutuallyExclusive(greaterThanOrEqualTo(2))); assertTrue(undefined().isMutuallyExclusive(lessThanOrEqualTo(2))); }