diff --git a/Makefile b/Makefile index 661dac4..ef2ab07 100644 --- a/Makefile +++ b/Makefile @@ -6,9 +6,10 @@ test: -dapp --use solc:0.5.17 build -dapp --use solc:0.6.12 build -dapp --use solc:0.7.5 build + -dapp --use solc:0.8.6 build demo: - DAPP_SRC=demo dapp --use solc:0.7.5 build + DAPP_SRC=demo dapp --use solc:0.8.6 build -hevm dapp-test --verbose 3 .PHONY: test demo diff --git a/src/test.sol b/src/test.sol index 96d3c15..20abd3b 100644 --- a/src/test.sol +++ b/src/test.sol @@ -34,6 +34,7 @@ contract DSTest { event log_named_uint (string key, uint val); event log_named_bytes (string key, bytes val); event log_named_string (string key, string val); + event log_named_bool (string key, bool val); bool public IS_TEST = true; bool public failed; @@ -69,6 +70,20 @@ contract DSTest { } } + function assertFalse(bool condition) internal { + if (condition) { + emit log("Error: Assertion Failed"); + fail(); + } + } + + function assertFalse(bool condition, string memory err) internal { + if (condition) { + emit log_named_string("Error", err); + assertTrue(condition); + } + } + function assertEq(address a, address b) internal { if (a != b) { emit log("Error: a == b not satisfied [address]"); @@ -161,6 +176,20 @@ contract DSTest { assertEqDecimal(a, b, decimals); } } + function assertEq(bool a, bool b) internal { + if (a != b) { + emit log("Error: a == b not satisfied [bool]"); + emit log_named_bool(" Expected", b); + emit log_named_bool(" Actual", a); + fail(); + } + } + function assertEq(bool a, bool b, string memory err) internal { + if (a != b) { + emit log_named_string("Error", err); + assertEq(a, b); + } + } function assertGt(uint a, uint b) internal { if (a <= b) {