1 21 package db4ounit; 22 23 public final class Assert { 24 25 public static void expect(Class exception, CodeBlock block) { 26 try { 27 block.run(); 28 } catch (Exception e) { 29 if (exception.isInstance(e)) return; 30 fail("Expecting '" + exception.getName() + "' but got '" + e.getClass().getName() + "'"); 31 } 32 fail("Exception '" + exception.getName() + "' expected"); 33 } 34 35 public static void fail() { 36 fail("FAILURE"); 37 } 38 39 public static void fail(String msg) { 40 throw new AssertionException(msg); 41 } 42 43 public static void isTrue(boolean condition) { 44 isTrue(condition,"FAILURE"); 45 } 46 47 public static void isTrue(boolean condition, String msg) { 48 if (condition) return; 49 fail(msg); 50 } 51 52 public static void isNull(Object reference) { 53 isNull(reference, failureMessage("null", reference)); 54 } 55 56 public static void isNull(Object reference,String message) { 57 if (reference != null) { 58 fail(message); 59 } 60 } 61 62 public static void isNotNull(Object reference) { 63 isNotNull(reference, failureMessage("not null", reference)); 64 } 65 66 public static void isNotNull(Object reference,String message) { 67 if (reference == null) { 68 fail(message); 69 } 70 } 71 72 public static void areEqual(boolean expected, boolean actual) { 73 if (expected == actual) return; 74 fail(failureMessage(new Boolean (expected), new Boolean (actual))); 75 } 76 77 public static void areEqual(int expected, int actual) { 78 areEqual(expected,actual,null); 79 } 80 81 public static void areEqual(int expected, int actual, String message) { 82 if (expected == actual) return; 83 fail(failureMessage(new Integer (expected), new Integer (actual),message)); 84 } 85 86 public static void areEqual(double expected, double actual) { 87 if (expected == actual) return; 88 fail(failureMessage(new Double (expected), new Double (actual))); 89 } 90 91 public static void areEqual(long expected, long actual) { 92 if (expected == actual) return; 93 fail(failureMessage(new Long (expected), new Long (actual))); 94 } 95 96 public static void areEqual(Object expected, Object actual,String message) { 97 if (objectsAreEqual(expected, actual)) return; 98 fail(failureMessage(expected, actual, message)); 99 } 100 101 public static void areEqual(Object expected, Object actual) { 102 areEqual(expected,actual,null); 103 } 104 105 public static void areSame(Object expected, Object actual) { 106 if (expected == actual) return; 107 fail(failureMessage(expected, actual)); 108 } 109 110 public static void areNotSame(Object expected, Object actual) { 111 if (expected != actual) return; 112 fail("Expecting not '" + expected + "'."); 113 } 114 115 private static String failureMessage(Object expected, Object actual) { 116 return failureMessage(expected,actual,null); 117 } 118 119 private static String failureMessage(Object expected, Object actual, String customMessage) { 120 return failureMessage(expected, actual, "", customMessage); 121 } 122 123 private static String failureMessage(Object expected, Object actual, final String cmpOper, String customMessage) { 124 return (customMessage==null ? "" : customMessage+": ")+"Expected " + cmpOper + "'"+ expected + "' but was '" + actual + "'"; 125 } 126 127 private static boolean objectsAreEqual(Object expected, Object actual) { 128 return expected == actual 129 || (expected != null 130 && actual != null 131 && expected.equals(actual)); 132 } 133 134 public static void isFalse(boolean condition) { 135 isTrue(!condition); 136 } 137 138 public static void isFalse(boolean condition, String message) { 139 isTrue(!condition, message); 140 } 141 142 public static void isInstanceOf(Class expectedClass, Object actual) { 143 isTrue(expectedClass.isInstance(actual), failureMessage(expectedClass, actual == null ? null : actual.getClass())); 144 } 145 146 public static void isGreater(long expected, long actual) { 147 if (actual > expected) return; 148 fail(failureMessage(new Long (expected), new Long (actual), "greater than ", null)); 149 } 150 151 public static void isGreaterOrEqual(long expected, long actual) { 152 if (actual >= expected) return; 153 fail(expected, actual, "greater than or equal to "); 154 } 155 156 private static void fail(long expected, long actual, final String operator) { 157 fail(failureMessage(new Long (expected), new Long (actual), operator, null)); 158 } 159 160 public static void areNotEqual(long expected, long actual) { 161 if (actual != expected) return; 162 fail(expected, actual, "not equal to "); 163 } 164 165 public static void areNotEqual(Object notExpected, Object actual) { 166 if (!objectsAreEqual(notExpected, actual)) return; 167 fail("Expecting not '" + notExpected + "'"); 168 } 169 } 170 | Popular Tags |