package function.builtin; import static testutil.TestUtilities.*; import org.junit.Test; import function.ArgumentValidator.*; public class EQUALSPTester { @Test public void testEqualspWithOneNumber() { String input = "(= 1)"; assertSExpressionsMatch(evaluateString(input), parseString("t")); } @Test public void testEqualspWithEqualNumbers() { String input = "(= 1 1)"; assertSExpressionsMatch(evaluateString(input), parseString("t")); } @Test public void testEqualspWithNonEqualNumbers() { String input = "(= 1 2)"; assertSExpressionsMatch(evaluateString(input), parseString("nil")); } @Test public void testEqualspWithManyEqualNumbers() { String input = "(= 4 4 4 4 4 4 4 4 4 4)"; assertSExpressionsMatch(evaluateString(input), parseString("t")); } @Test public void testEqualspWithManyNonEqualNumbers() { String input = "(= 4 4 4 4 5 4 4 4 4 4)"; assertSExpressionsMatch(evaluateString(input), parseString("nil")); } @Test(expected = BadArgumentTypeException.class) public void testEqualspWithNonNumbers() { evaluateString("(= 'x 'x)"); } @Test(expected = TooFewArgumentsException.class) public void testEqualspWithTooFewArguments() { evaluateString("(=)"); } }