@@ -29,9 +29,9 @@ } /// Unittest helper that asserts an expression must not throw anything -auto assert_nothrow(T, string fn=__FILE__, size_t ln=__LINE__)(lazy T t, string msg="") +T assert_nothrow(T, string fn=__FILE__, size_t ln=__LINE__)(lazy T t, string msg="") { try { return t(); } catch(Throwable e) @@ -54,10 +54,8 @@ assert_nothrow ( assert_throw!Error(assertError()) ); assert_throw!AssertError( assert_throw!AssertError(error()) ); } -/// Unittest helpers asserting two values are in some relation ==, !=, <, <=, >, >= - template assertOp(string op) { void assertOp(A, B, string fn=__FILE__, size_t ln=__LINE__)(A a, B b, string msg="") { @@ -68,14 +66,14 @@ onAssertErrorMsg(fn, ln, msg.length ? msg : to!string(a)~" !"~op~" "~to!string(b)); } } -alias assertOp!(`==`) assert_eq; -alias assertOp!(`!=`) assert_ne; -alias assertOp!(`<`) assert_lt; -alias assertOp!(`<=`) assert_le; -alias assertOp!(`>`) assert_gt; -alias assertOp!(`>=`) assert_ge; +alias assertOp!(`==`) assert_eq; /// asserts two operands are == +alias assertOp!(`!=`) assert_ne; /// asserts two operands are != +alias assertOp!(`<`) assert_lt; /// asserts two operands are < +alias assertOp!(`<=`) assert_le; /// asserts two operands are <= +alias assertOp!(`>`) assert_gt; /// asserts two operands are > +alias assertOp!(`>=`) assert_ge; /// asserts two operands are >= unittest { assert_nothrow( assert_eq(1, 1) );