package function.builtin.predicate; import static testutil.TestUtilities.evaluateString; import static testutil.TypeAssertions.*; import org.junit.Test; import function.ArgumentValidator.*; public class LESSPTester { @Test public void testLesspWithOneNumber_ReturnsT() { String input = "(< 1)"; assertT(evaluateString(input)); } @Test public void testLesspWithTwoNumbers_ReturnsNil() { String input = "(< 2 1)"; assertNil(evaluateString(input)); } @Test public void testLesspWithTwoNumbers_ReturnsT() { String input = "(< 2 3)"; assertT(evaluateString(input)); } @Test public void testLesspWithManyNumbers_ReturnsNil() { String input = "(< 4 3 2 5 1)"; assertNil(evaluateString(input)); } @Test public void testLesspWithManyNumbers_ReturnsT() { String input = "(< 0 1 2 3 4)"; assertT(evaluateString(input)); } @Test(expected = BadArgumentTypeException.class) public void testLesspWithNonNumbers() { evaluateString("(< '(1) '(2))"); } @Test(expected = TooFewArgumentsException.class) public void testLesspWithTooFewArguments() { evaluateString("(<)"); } }