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