Diff
Not logged in

Differences From Artifact [7c50b0e91b8919b8]:

To Artifact [1483c10390a22fc3]:


26 26 catch(Throwable e) 27 27 { onAssertErrorMsg(fn, ln, msg.length ? msg : "bad exception\n >> "~e.toString()); } 28 28 onAssertErrorMsg(fn, ln, msg.length ? msg : "not thrown"); 29 29 } 30 30 31 31 /// Unittest helper that asserts an expression must not throw anything 32 32 33 -auto assert_nothrow(T, string fn=__FILE__, size_t ln=__LINE__)(lazy T t, string msg="") 33 +T assert_nothrow(T, string fn=__FILE__, size_t ln=__LINE__)(lazy T t, string msg="") 34 34 { 35 35 try 36 36 { return t(); } 37 37 catch(Throwable e) 38 38 { onAssertErrorMsg(fn, ln, msg.length ? msg : "bad exception\n >> "~e.toString()); } 39 39 assert(false); 40 40 } ................................................................................ 51 51 52 52 assert_nothrow ( assert_throw!Error(error()) ); 53 53 assert_throw!AssertError( assert_throw!Error(nothing()) ); 54 54 assert_nothrow ( assert_throw!Error(assertError()) ); 55 55 assert_throw!AssertError( assert_throw!AssertError(error()) ); 56 56 } 57 57 58 -/// Unittest helpers asserting two values are in some relation ==, !=, <, <=, >, >= 59 - 60 58 template assertOp(string op) 61 59 { 62 60 void assertOp(A, B, string fn=__FILE__, size_t ln=__LINE__)(A a, B b, string msg="") 63 61 { 64 62 try 65 63 { if( mixin("a"~op~"b") ) return; } 66 64 catch(Throwable e) 67 65 { onAssertErrorMsg(fn, ln, msg.length ? msg : "exception ["~e.toString()~"]"); } 68 66 onAssertErrorMsg(fn, ln, msg.length ? msg : to!string(a)~" !"~op~" "~to!string(b)); 69 67 } 70 68 } 71 69 72 -alias assertOp!(`==`) assert_eq; 73 -alias assertOp!(`!=`) assert_ne; 74 -alias assertOp!(`<`) assert_lt; 75 -alias assertOp!(`<=`) assert_le; 76 -alias assertOp!(`>`) assert_gt; 77 -alias assertOp!(`>=`) assert_ge; 70 +alias assertOp!(`==`) assert_eq; /// asserts two operands are == 71 +alias assertOp!(`!=`) assert_ne; /// asserts two operands are != 72 +alias assertOp!(`<`) assert_lt; /// asserts two operands are < 73 +alias assertOp!(`<=`) assert_le; /// asserts two operands are <= 74 +alias assertOp!(`>`) assert_gt; /// asserts two operands are > 75 +alias assertOp!(`>=`) assert_ge; /// asserts two operands are >= 78 76 79 77 unittest 80 78 { 81 79 assert_nothrow( assert_eq(1, 1) ); 82 80 assert_nothrow( assert_ne(1, 0) ); 83 81 assert_nothrow( assert_lt(0, 1) ); 84 82 assert_nothrow( assert_le(0, 1) );