158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabotpackage junit.framework;
258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot
358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot/**
458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot * A set of assert methods.  Messages are only displayed when an assert fails.
558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot */
658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot
758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabotpublic class Assert {
858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Protect constructor since it is a static only class
1058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
1158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	protected Assert() {
1258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
1358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot
1458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
1558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that a condition is true. If it isn't it throws
1658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError with the given message.
1758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
1858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertTrue(String message, boolean condition) {
1958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (!condition)
2058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			fail(message);
2158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
2258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
2358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that a condition is true. If it isn't it throws
2458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError.
2558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
2658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertTrue(boolean condition) {
2758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertTrue(null, condition);
2858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
2958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
3058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that a condition is false. If it isn't it throws
3158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError with the given message.
3258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
3358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertFalse(String message, boolean condition) {
3458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertTrue(message, !condition);
3558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
3658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
3758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that a condition is false. If it isn't it throws
3858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError.
3958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
4058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertFalse(boolean condition) {
4158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertFalse(null, condition);
4258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
4358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
4458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Fails a test with the given message.
4558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
4658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void fail(String message) {
4758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		throw new AssertionFailedError(message);
4858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
4958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
5058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Fails a test with no message.
5158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
5258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void fail() {
5358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		fail(null);
5458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
5558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
5658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two objects are equal. If they are not
5758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
5858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
5958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String message, Object expected, Object actual) {
6058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (expected == null && actual == null)
6158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			return;
6258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (expected != null && expected.equals(actual))
6358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			return;
6458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		failNotEquals(message, expected, actual);
6558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
6658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
6758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two objects are equal. If they are not
6858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown.
6958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
7058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(Object expected, Object actual) {
7158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	    assertEquals(null, expected, actual);
7258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
7358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
7458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two Strings are equal.
7558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
7658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String message, String expected, String actual) {
7758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (expected == null && actual == null)
7858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			return;
7958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (expected != null && expected.equals(actual))
8058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			return;
8158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		throw new ComparisonFailure(message, expected, actual);
8258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
8358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
8458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two Strings are equal.
8558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
8658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String expected, String actual) {
8758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	    assertEquals(null, expected, actual);
8858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
8958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
9058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two doubles are equal concerning a delta.  If they are not
9158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.  If the expected
9258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * value is infinity then the delta value is ignored.
9358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
9458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String message, double expected, double actual, double delta) {
9558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (Double.compare(expected, actual) == 0)
9658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			return;
9758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (!(Math.abs(expected-actual) <= delta))
9858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			failNotEquals(message, new Double(expected), new Double(actual));
9958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
10058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
10158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two doubles are equal concerning a delta. If the expected
10258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * value is infinity then the delta value is ignored.
10358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
10458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(double expected, double actual, double delta) {
10558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	    assertEquals(null, expected, actual, delta);
10658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
10758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
10858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two floats are equal concerning a delta. If they are not
10958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.  If the expected
11058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * value is infinity then the delta value is ignored.
11158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
11258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String message, float expected, float actual, float delta) {
11358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 		// handle infinity specially since subtracting to infinite values gives NaN and the
11458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		// the following test fails
11558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (Float.isInfinite(expected)) {
11658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			if (!(expected == actual))
11758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot				failNotEquals(message, new Float(expected), new Float(actual));
11858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		} else if (!(Math.abs(expected-actual) <= delta))
11958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot      		failNotEquals(message, new Float(expected), new Float(actual));
12058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
12158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
12258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two floats are equal concerning a delta. If the expected
12358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * value is infinity then the delta value is ignored.
12458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
12558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(float expected, float actual, float delta) {
12658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertEquals(null, expected, actual, delta);
12758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
12858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
12958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two longs are equal. If they are not
13058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
13158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
13258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String message, long expected, long actual) {
13358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	    assertEquals(message, new Long(expected), new Long(actual));
13458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
13558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
13658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two longs are equal.
13758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
13858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(long expected, long actual) {
13958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	    assertEquals(null, expected, actual);
14058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
14158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
14258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two booleans are equal. If they are not
14358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
14458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
14558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String message, boolean expected, boolean actual) {
14658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot    		assertEquals(message, Boolean.valueOf(expected), Boolean.valueOf(actual));
14758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	}
14858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
14958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two booleans are equal.
15058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 	 */
15158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(boolean expected, boolean actual) {
15258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertEquals(null, expected, actual);
15358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
15458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
15558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two bytes are equal. If they are not
15658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
15758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
15858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	static public void assertEquals(String message, byte expected, byte actual) {
15958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertEquals(message, new Byte(expected), new Byte(actual));
16058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
16158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
16258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot   	 * Asserts that two bytes are equal.
16358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
16458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(byte expected, byte actual) {
16558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertEquals(null, expected, actual);
16658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
16758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
16858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two chars are equal. If they are not
16958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
17058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
17158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	static public void assertEquals(String message, char expected, char actual) {
17258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot    		assertEquals(message, new Character(expected), new Character(actual));
17358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	}
17458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
17558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two chars are equal.
17658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
17758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	static public void assertEquals(char expected, char actual) {
17858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertEquals(null, expected, actual);
17958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
18058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
18158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two shorts are equal. If they are not
18258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
18358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
18458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String message, short expected, short actual) {
18558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot    		assertEquals(message, new Short(expected), new Short(actual));
18658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
18758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	/**
18858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two shorts are equal.
18958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
19058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(short expected, short actual) {
19158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertEquals(null, expected, actual);
19258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
19358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
19458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two ints are equal. If they are not
19558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
19658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
19758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	static public void assertEquals(String message, int expected, int actual) {
19858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertEquals(message, new Integer(expected), new Integer(actual));
19958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	}
20058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	/**
20158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot   	 * Asserts that two ints are equal.
20258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
20358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	static public void assertEquals(int expected, int actual) {
20458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  		assertEquals(null, expected, actual);
20558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
20658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
20758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that an object isn't null.
20858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
20958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertNotNull(Object object) {
21058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertNotNull(null, object);
21158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
21258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
21358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that an object isn't null. If it is
21458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
21558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
21658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertNotNull(String message, Object object) {
21758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertTrue(message, object != null);
21858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
21958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
22058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that an object is null.
22158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
22258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertNull(Object object) {
22358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertNull(null, object);
22458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
22558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
22658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that an object is null.  If it is not
22758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
22858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
22958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertNull(String message, Object object) {
23058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertTrue(message, object == null);
23158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
23258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
23358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two objects refer to the same object. If they are not
23458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
23558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
23658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertSame(String message, Object expected, Object actual) {
23758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (expected == actual)
23858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			return;
23958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		failNotSame(message, expected, actual);
24058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
24158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
24258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two objects refer to the same object. If they are not
24358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * the same an AssertionFailedError is thrown.
24458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
24558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertSame(Object expected, Object actual) {
24658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	    assertSame(null, expected, actual);
24758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
24858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
24958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two objects do not refer to the same object. If they do
25058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * refer to the same object an AssertionFailedError is thrown with the
25158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * given message.
25258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
25358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertNotSame(String message, Object expected, Object actual) {
25458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (expected == actual)
25558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			failSame(message);
25658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
25758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
25858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two objects do not refer to the same object. If they do
25958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * refer to the same object an AssertionFailedError is thrown.
26058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
26158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertNotSame(Object expected, Object actual) {
26258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertNotSame(null, expected, actual);
26358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
26458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot
26558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void failSame(String message) {
26658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		String formatted= "";
26758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 		if (message != null)
26858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 			formatted= message+" ";
26958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 		fail(formatted+"expected not same");
27058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
27158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot
27258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void failNotSame(String message, Object expected, Object actual) {
27358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		String formatted= "";
27458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (message != null)
27558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			formatted= message+" ";
27658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		fail(formatted+"expected same:<"+expected+"> was not:<"+actual+">");
27758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
27858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot
27958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void failNotEquals(String message, Object expected, Object actual) {
28058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		fail(format(message, expected, actual));
28158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
28258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot
28358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static String format(String message, Object expected, Object actual) {
28458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		String formatted= "";
28558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (message != null)
28658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			formatted= message+" ";
28758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		return formatted+"expected:<"+expected+"> but was:<"+actual+">";
28858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
28958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot}
290