1 jls.loader.provide('jls.jsunit.Assert'); 2 3 jls.loader.require('jls.lang.AssertionError'); 4 5 /** 6 * @class A set of assert methods. Messages are only displayed when an assert fails. 7 */ 8 jls.jsunit.Assert = jls.lang.Class.create({}); 9 10 Object.extend(jls.jsunit.Assert, /** @lends jls.jsunit.Assert */ 11 { 12 /** 13 * Fails a test with the given message. 14 * 15 * @param {String} [message] The message associated with the failure. 16 */ 17 fail : function(message) { 18 throw new jls.lang.AssertionError(message); 19 }, 20 failNotEquals : function(expected, actual, message) { 21 var msg = (typeof message == 'string') ? (message + ' ') : ''; 22 jls.jsunit.Assert.fail(msg + 'expected:<' + expected + '> but was:<' + actual + '>'); 23 }, 24 failNotSame : function(expected, actual, message) { 25 var msg = (typeof message == 'string') ? (message + ' ') : ''; 26 jls.jsunit.Assert.fail(msg + 'expected same:<' + expected + '> was not:<' + actual + '>'); 27 }, 28 failSame : function(message) { 29 var msg = (typeof message == 'string') ? (message + ' ') : ''; 30 jls.jsunit.Assert.fail(msg + 'expected not same'); 31 }, 32 /** 33 * Asserts that a condition is true. 34 * 35 * @param {Boolean} condition The condition to verify. 36 * @param {String} [message] The message associated with the assertion. 37 */ 38 assertTrue : function(condition, message) { 39 if (! condition) { 40 jls.jsunit.Assert.fail(message); 41 } 42 }, 43 /** 44 * Asserts that a condition is false. 45 * 46 * @param {Boolean} condition The condition to verify. 47 * @param {String} [message] The message associated with the assertion. 48 */ 49 assertFalse : function(condition, message) { 50 if (condition) { 51 jls.jsunit.Assert.fail(message); 52 } 53 }, 54 /** 55 * Asserts that a value is not null. 56 * 57 * @param {Object} value The value to verify. 58 * @param {String} [message] The message associated with the assertion. 59 */ 60 assertNotNull : function(value, message) { 61 if (value == null) { 62 jls.jsunit.Assert.fail(message); 63 } 64 }, 65 /** 66 * Asserts that two values differ. 67 * 68 * @param {Object} expected The expected value. 69 * @param {Object} actual The actual value. 70 * @param {String} [message] The message associated with the assertion. 71 */ 72 assertNotSame : function(expected, actual, message) { 73 if (expected === actual) { 74 jls.jsunit.Assert.failSame(message); 75 } 76 }, 77 /** 78 * Asserts that a value is null. 79 * 80 * @param {Object} value The value to verify. 81 * @param {String} [message] The message associated with the assertion. 82 */ 83 assertNull : function(value, message) { 84 if (value != null) { 85 jls.jsunit.Assert.fail(message); 86 } 87 }, 88 /** 89 * Asserts that two values are the same. 90 * 91 * @param {Object} expected The expected value. 92 * @param {Object} actual The actual value. 93 * @param {String} [message] The message associated with the assertion. 94 */ 95 assertSame : function(expected, actual, message) { 96 if (expected !== actual) { 97 jls.jsunit.Assert.failNotSame(expected, actual, message); 98 } 99 }, 100 /** 101 * Asserts that two values are equal. 102 * 103 * @param {Object} expected The expected value. 104 * @param {Object} actual The actual value. 105 * @param {String} [message] The message associated with the assertion. 106 */ 107 assertEquals : function(expected, actual, message) { 108 if (expected != actual) { 109 jls.jsunit.Assert.failNotEquals(expected, actual, message); 110 } 111 } 112 }); 113