aboutsummaryrefslogtreecommitdiffstats
path: root/test/liblll/EndToEndTest.cpp
diff options
context:
space:
mode:
authorDaniel Ellison <daniel@syrinx.net>2016-12-02 22:26:35 +0800
committerDaniel Ellison <daniel@syrinx.net>2016-12-07 00:16:56 +0800
commit1152d2d2d4eefe36a08f7026be6d9d7031722c2e (patch)
treea47520aa656138cdfe5feb07f9e081de62df02c3 /test/liblll/EndToEndTest.cpp
parenta91b712ab8bfc5928428e308855244fb77766ca3 (diff)
downloaddexon-solidity-1152d2d2d4eefe36a08f7026be6d9d7031722c2e.tar.gz
dexon-solidity-1152d2d2d4eefe36a08f7026be6d9d7031722c2e.tar.zst
dexon-solidity-1152d2d2d4eefe36a08f7026be6d9d7031722c2e.zip
Simplified exp_operator_on_range test and changed to tedting a range.
Diffstat (limited to 'test/liblll/EndToEndTest.cpp')
-rw-r--r--test/liblll/EndToEndTest.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/test/liblll/EndToEndTest.cpp b/test/liblll/EndToEndTest.cpp
index 980f8d10..6a5a223e 100644
--- a/test/liblll/EndToEndTest.cpp
+++ b/test/liblll/EndToEndTest.cpp
@@ -77,21 +77,17 @@ BOOST_AUTO_TEST_CASE(exp_operator_const_signed)
BOOST_CHECK(callFallback() == toBigEndian(u256(-8)));
}
-BOOST_AUTO_TEST_CASE(exp_operator_parameter)
+BOOST_AUTO_TEST_CASE(exp_operator_on_range)
{
char const* sourceCode = R"(
- (seq
- (def 'function (function-hash code-body)
- (when (= (div (calldataload 0x00) (exp 2 224)) function-hash)
- code-body))
- (returnlll
- (seq
- (function 0xb3de648b
- (return (exp 2 (calldataload 0x04))))
- (jump 0x02))))
+ (returnlll
+ (seq
+ (when (= (div (calldataload 0x00) (exp 2 224)) 0xb3de648b)
+ (return (exp 2 (calldataload 0x04))))
+ (jump 0x02)))
)";
compileAndRun(sourceCode);
- BOOST_CHECK(callContractFunction("f(uint256)", u256(16)) == toBigEndian(u256(65536)));
+ testContractAgainstCppOnRange("f(uint256)", [](u256 const& a) -> u256 { return u256(1 << a.convert_to<int>()); }, 0, 16);
}
BOOST_AUTO_TEST_SUITE_END()