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) {
47b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot		if (message == null) {
48b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot			throw new AssertionFailedError();
49b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot		}
5058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		throw new AssertionFailedError(message);
5158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
5258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
5358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Fails a test with no message.
5458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
5558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void fail() {
5658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		fail(null);
5758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
5858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
5958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two objects are equal. If they are not
6058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
6158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
6258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String message, Object expected, Object actual) {
6358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (expected == null && actual == null)
6458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			return;
6558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (expected != null && expected.equals(actual))
6658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			return;
6758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		failNotEquals(message, expected, actual);
6858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
6958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
7058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two objects are equal. If they are not
7158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown.
7258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
7358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(Object expected, Object actual) {
7458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	    assertEquals(null, expected, actual);
7558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
7658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
7758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two Strings are equal.
7858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
7958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String message, String expected, String actual) {
8058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (expected == null && actual == null)
8158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			return;
8258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (expected != null && expected.equals(actual))
8358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			return;
84b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot		String cleanMessage= message == null ? "" : message;
85b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot		throw new ComparisonFailure(cleanMessage, expected, actual);
8658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
8758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
8858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two Strings are equal.
8958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
9058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String expected, String actual) {
9158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	    assertEquals(null, expected, actual);
9258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
9358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
9458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two doubles are equal concerning a delta.  If they are not
9558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.  If the expected
9658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * value is infinity then the delta value is ignored.
9758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
9858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String message, double expected, double actual, double delta) {
9958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (Double.compare(expected, actual) == 0)
10058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			return;
10158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (!(Math.abs(expected-actual) <= delta))
10258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			failNotEquals(message, new Double(expected), new Double(actual));
10358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
10458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
10558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two doubles are equal concerning a delta. If the expected
10658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * value is infinity then the delta value is ignored.
10758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
10858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(double expected, double actual, double delta) {
10958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	    assertEquals(null, expected, actual, delta);
11058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
11158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
112b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot	 * Asserts that two floats are equal concerning a positive delta. If they
113b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot	 * are not an AssertionFailedError is thrown with the given message. If the
114b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot	 * expected value is infinity then the delta value is ignored.
11558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
11658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String message, float expected, float actual, float delta) {
117b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot		if (Float.compare(expected, actual) == 0)
118b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot			return;
119b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot		if (!(Math.abs(expected - actual) <= delta))
12058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot				failNotEquals(message, new Float(expected), new Float(actual));
12158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
12258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
12358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two floats are equal concerning a delta. If the expected
12458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * value is infinity then the delta value is ignored.
12558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
12658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(float expected, float actual, float delta) {
12758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertEquals(null, expected, actual, delta);
12858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
12958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
13058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two longs are equal. If they are not
13158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
13258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
13358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String message, long expected, long actual) {
13458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	    assertEquals(message, new Long(expected), new Long(actual));
13558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
13658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
13758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two longs are equal.
13858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
13958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(long expected, long actual) {
14058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	    assertEquals(null, expected, actual);
14158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
14258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
14358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two booleans are equal. If they are not
14458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
14558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
14658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String message, boolean expected, boolean actual) {
14758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot    		assertEquals(message, Boolean.valueOf(expected), Boolean.valueOf(actual));
14858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	}
14958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
15058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two booleans are equal.
15158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 	 */
15258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(boolean expected, boolean actual) {
15358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertEquals(null, expected, actual);
15458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
15558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
15658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two bytes are equal. If they are not
15758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
15858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
15958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	static public void assertEquals(String message, byte expected, byte actual) {
16058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertEquals(message, new Byte(expected), new Byte(actual));
16158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
16258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
16358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot   	 * Asserts that two bytes are equal.
16458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
16558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(byte expected, byte actual) {
16658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertEquals(null, expected, actual);
16758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
16858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
16958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two chars are equal. If they are not
17058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
17158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
17258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	static public void assertEquals(String message, char expected, char actual) {
17358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot    		assertEquals(message, new Character(expected), new Character(actual));
17458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	}
17558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
17658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two chars are equal.
17758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
17858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	static public void assertEquals(char expected, char actual) {
17958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertEquals(null, expected, actual);
18058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
18158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
18258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two shorts are equal. If they are not
18358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
18458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
18558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(String message, short expected, short actual) {
18658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot    		assertEquals(message, new Short(expected), new Short(actual));
18758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
18858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	/**
18958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two shorts are equal.
19058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
19158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertEquals(short expected, short actual) {
19258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertEquals(null, expected, actual);
19358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
19458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
19558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two ints are equal. If they are not
19658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
19758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
19858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	static public void assertEquals(String message, int expected, int actual) {
19958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertEquals(message, new Integer(expected), new Integer(actual));
20058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	}
20158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	/**
20258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot   	 * Asserts that two ints are equal.
20358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
20458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  	static public void assertEquals(int expected, int actual) {
20558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot  		assertEquals(null, expected, actual);
20658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
20758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
20858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that an object isn't null.
20958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
21058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertNotNull(Object object) {
21158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertNotNull(null, object);
21258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
21358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
21458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that an object isn't null. If it is
21558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
21658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
21758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertNotNull(String message, Object object) {
21858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertTrue(message, object != null);
21958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
22058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
221b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot	 * Asserts that an object is null. If it isn't an {@link AssertionError} is
222b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot	 * thrown.
223b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot	 * Message contains: Expected: <null> but was: object
224b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot	 *
225b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot	 * @param object
226b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot	 *            Object to check or <code>null</code>
22758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
22858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertNull(Object object) {
229b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot		String message = "Expected: <null> but was: " + String.valueOf(object);
230b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot		assertNull(message, object);
23158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
23258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
23358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that an object is null.  If it is not
23458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
23558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
23658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertNull(String message, Object object) {
23758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertTrue(message, object == null);
23858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
23958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
24058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two objects refer to the same object. If they are not
24158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * an AssertionFailedError is thrown with the given message.
24258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
24358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertSame(String message, Object expected, Object actual) {
24458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (expected == actual)
24558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			return;
24658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		failNotSame(message, expected, actual);
24758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
24858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
24958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two objects refer to the same object. If they are not
25058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * the same an AssertionFailedError is thrown.
25158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
25258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertSame(Object expected, Object actual) {
25358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	    assertSame(null, expected, actual);
25458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
25558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
25658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two objects do not refer to the same object. If they do
25758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * refer to the same object an AssertionFailedError is thrown with the
25858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * given message.
25958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
26058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertNotSame(String message, Object expected, Object actual) {
26158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (expected == actual)
26258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			failSame(message);
26358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
26458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	/**
26558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * Asserts that two objects do not refer to the same object. If they do
26658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 * refer to the same object an AssertionFailedError is thrown.
26758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	 */
26858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void assertNotSame(Object expected, Object actual) {
26958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		assertNotSame(null, expected, actual);
27058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
27158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot
27258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void failSame(String message) {
27358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		String formatted= "";
27458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 		if (message != null)
27558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 			formatted= message+" ";
27658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot 		fail(formatted+"expected not same");
27758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
27858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot
27958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void failNotSame(String message, Object expected, Object actual) {
28058a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		String formatted= "";
28158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		if (message != null)
28258a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			formatted= message+" ";
28358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		fail(formatted+"expected same:<"+expected+"> was not:<"+actual+">");
28458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
28558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot
28658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	static public void failNotEquals(String message, Object expected, Object actual) {
28758a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		fail(format(message, expected, actual));
28858a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
28958a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot
290b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot	public static String format(String message, Object expected, Object actual) {
29158a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		String formatted= "";
292b3823db9f1192d8c81345740b3e65bd6738ba55bBrett Chabot		if (message != null && message.length() > 0)
29358a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot			formatted= message+" ";
29458a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot		return formatted+"expected:<"+expected+"> but was:<"+actual+">";
29558a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot	}
29658a8b0aba2dec5695628a2bf25a3fae42c2c3533Brett Chabot}
297