149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbeepackage junit.framework;
249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee
349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee/**
449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee * A set of assert methods.  Messages are only displayed when an assert fails.
549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee */
649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee
749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbeepublic class Assert {
849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Protect constructor since it is a static only class
1049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
1149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    protected Assert() {
1249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
1349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee
1449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
1549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that a condition is true. If it isn't it throws
1649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError with the given message.
1749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
1849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertTrue(String message, boolean condition) {
1949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        if (!condition)
2049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee            fail(message);
2149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
2249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
2349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that a condition is true. If it isn't it throws
2449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError.
2549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
2649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertTrue(boolean condition) {
2749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertTrue(null, condition);
2849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
2949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
3049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that a condition is false. If it isn't it throws
3149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError with the given message.
3249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
3349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertFalse(String message, boolean condition) {
3449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertTrue(message, !condition);
3549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
3649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
3749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that a condition is false. If it isn't it throws
3849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError.
3949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
4049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertFalse(boolean condition) {
4149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertFalse(null, condition);
4249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
4349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
4449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Fails a test with the given message.
4549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
4649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void fail(String message) {
4749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        throw new AssertionFailedError(message);
4849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
4949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
5049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Fails a test with no message.
5149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
5249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void fail() {
5349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        fail(null);
5449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
5549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
5649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two objects are equal. If they are not
5749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError is thrown with the given message.
5849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
5949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertEquals(String message, Object expected, Object actual) {
6049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        if (expected == null && actual == null)
6149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee            return;
6249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        if (expected != null && expected.equals(actual))
6349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee            return;
6449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        failNotEquals(message, expected, actual);
6549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
6649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
6749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two objects are equal. If they are not
6849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError is thrown.
6949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
7049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertEquals(Object expected, Object actual) {
7149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertEquals(null, expected, actual);
7249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
7349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
7449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two Strings are equal.
7549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
7649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertEquals(String message, String expected, String actual) {
7749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        if (expected == null && actual == null)
7849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee            return;
7949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        if (expected != null && expected.equals(actual))
8049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee            return;
8149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        throw new ComparisonFailure(message, expected, actual);
8249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
8349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
8449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two Strings are equal.
8549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
8649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertEquals(String expected, String actual) {
8749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertEquals(null, expected, actual);
8849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
8949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
9049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two doubles are equal concerning a delta.  If they are not
9149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError is thrown with the given message.  If the expected
9249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * value is infinity then the delta value is ignored.
9349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
9449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertEquals(String message, double expected, double actual, double delta) {
9549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        // handle infinity specially since subtracting to infinite values gives NaN and the
9649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        // the following test fails
9749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        if (Double.isInfinite(expected)) {
9849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee            if (!(expected == actual))
9949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee                failNotEquals(message, new Double(expected), new Double(actual));
10049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        } else if (!(Math.abs(expected-actual) <= delta)) // Because comparison with NaN always returns false
10149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee            failNotEquals(message, new Double(expected), new Double(actual));
10249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
10349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
10449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two doubles are equal concerning a delta. If the expected
10549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * value is infinity then the delta value is ignored.
10649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
10749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertEquals(double expected, double actual, double delta) {
10849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertEquals(null, expected, actual, delta);
10949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
11049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
11149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two floats are equal concerning a delta. If they are not
11249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError is thrown with the given message.  If the expected
11349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * value is infinity then the delta value is ignored.
11449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
11549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertEquals(String message, float expected, float actual, float delta) {
11649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee         // handle infinity specially since subtracting to infinite values gives NaN and the
11749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        // the following test fails
11849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        if (Float.isInfinite(expected)) {
11949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee            if (!(expected == actual))
12049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee                failNotEquals(message, new Float(expected), new Float(actual));
12149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        } else if (!(Math.abs(expected-actual) <= delta))
12249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee              failNotEquals(message, new Float(expected), new Float(actual));
12349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
12449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
12549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two floats are equal concerning a delta. If the expected
12649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * value is infinity then the delta value is ignored.
12749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
12849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertEquals(float expected, float actual, float delta) {
12949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertEquals(null, expected, actual, delta);
13049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
13149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
13249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two longs are equal. If they are not
13349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError is thrown with the given message.
13449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
13549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertEquals(String message, long expected, long actual) {
13649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertEquals(message, new Long(expected), new Long(actual));
13749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
13849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
13949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two longs are equal.
14049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
14149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertEquals(long expected, long actual) {
14249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertEquals(null, expected, actual);
14349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
14449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
14549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two booleans are equal. If they are not
14649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError is thrown with the given message.
14749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
14849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertEquals(String message, boolean expected, boolean actual) {
14949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee            assertEquals(message, new Boolean(expected), new Boolean(actual));
15049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee      }
15149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
15249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two booleans are equal.
15349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee      */
15449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertEquals(boolean expected, boolean actual) {
15549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertEquals(null, expected, actual);
15649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
15749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
15849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two bytes are equal. If they are not
15949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError is thrown with the given message.
16049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
16149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee      static public void assertEquals(String message, byte expected, byte actual) {
16249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertEquals(message, new Byte(expected), new Byte(actual));
16349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
16449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
16549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        * Asserts that two bytes are equal.
16649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
16749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertEquals(byte expected, byte actual) {
16849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertEquals(null, expected, actual);
16949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
17049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
17149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two chars are equal. If they are not
17249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError is thrown with the given message.
17349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
17449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee      static public void assertEquals(String message, char expected, char actual) {
17549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee            assertEquals(message, new Character(expected), new Character(actual));
17649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee      }
17749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
17849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two chars are equal.
17949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
18049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee      static public void assertEquals(char expected, char actual) {
18149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertEquals(null, expected, actual);
18249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
18349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
18449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two shorts are equal. If they are not
18549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError is thrown with the given message.
18649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
18749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertEquals(String message, short expected, short actual) {
18849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee            assertEquals(message, new Short(expected), new Short(actual));
18949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
19049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee      /**
19149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two shorts are equal.
19249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
19349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertEquals(short expected, short actual) {
19449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertEquals(null, expected, actual);
19549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
19649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
19749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two ints are equal. If they are not
19849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError is thrown with the given message.
19949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
20049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee      static public void assertEquals(String message, int expected, int actual) {
20149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertEquals(message, new Integer(expected), new Integer(actual));
20249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee      }
20349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee      /**
20449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        * Asserts that two ints are equal.
20549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
20649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee      static public void assertEquals(int expected, int actual) {
20749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee          assertEquals(null, expected, actual);
20849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
20949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
21049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that an object isn't null.
21149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
21249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertNotNull(Object object) {
21349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertNotNull(null, object);
21449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
21549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
21649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that an object isn't null. If it is
21749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError is thrown with the given message.
21849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
21949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertNotNull(String message, Object object) {
22049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertTrue(message, object != null);
22149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
22249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
22349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that an object is null.
22449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
22549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertNull(Object object) {
22649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertNull(null, object);
22749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
22849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
22949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that an object is null.  If it is not
23049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError is thrown with the given message.
23149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
23249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertNull(String message, Object object) {
23349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertTrue(message, object == null);
23449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
23549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
23649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two objects refer to the same object. If they are not
23749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * an AssertionFailedError is thrown with the given message.
23849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
23949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertSame(String message, Object expected, Object actual) {
24049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        if (expected == actual)
24149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee            return;
24249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        failNotSame(message, expected, actual);
24349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
24449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
24549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two objects refer to the same object. If they are not
24649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * the same an AssertionFailedError is thrown.
24749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
24849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertSame(Object expected, Object actual) {
24949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertSame(null, expected, actual);
25049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
25149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     /**
25249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee      * Asserts that two objects refer to the same object. If they are not
25349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee      * an AssertionFailedError is thrown with the given message.
25449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee      */
25549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertNotSame(String message, Object expected, Object actual) {
25649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        if (expected == actual)
25749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee            failSame(message);
25849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
25949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    /**
26049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * Asserts that two objects refer to the same object. If they are not
26149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     * the same an AssertionFailedError is thrown.
26249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee     */
26349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static public void assertNotSame(Object expected, Object actual) {
26449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        assertNotSame(null, expected, actual);
26549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
26649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee
26749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static private void failSame(String message) {
26849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        String formatted= "";
26949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee         if (message != null)
27049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee             formatted= message+" ";
27149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee         fail(formatted+"expected not same");
27249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
27349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee
27449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static private void failNotSame(String message, Object expected, Object actual) {
27549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        String formatted= "";
27649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        if (message != null)
27749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee            formatted= message+" ";
27849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        fail(formatted+"expected same:<"+expected+"> was not:<"+actual+">");
27949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
28049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee
28149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static private void failNotEquals(String message, Object expected, Object actual) {
28249024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        fail(format(message, expected, actual));
28349024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
28449024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee
28549024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    static String format(String message, Object expected, Object actual) {
28649024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        String formatted= "";
28749024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        if (message != null)
28849024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee            formatted= message+" ";
28949024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee        return formatted+"expected:<"+expected+"> but was:<"+actual+">";
29049024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee    }
29149024493479b1ab8b5f9b44c24a3b0c33afc796cBill Buzbee}
292