[cond-expr] fixup according to code review

This commit is contained in:
Lu Guanqun
2016-01-22 17:14:00 +00:00
parent 82ee9503e9
commit b003290638
4 changed files with 24 additions and 6 deletions
+13 -2
View File
@@ -128,7 +128,6 @@ BOOST_AUTO_TEST_CASE(conditional_expression_multiple)
BOOST_CHECK(callContractFunction("f(uint256)", u256(40)) == toBigEndian(u256(10)));
}
/*
BOOST_AUTO_TEST_CASE(conditional_expression_as_left_value)
{
char const* sourceCode = R"(
@@ -144,7 +143,19 @@ BOOST_AUTO_TEST_CASE(conditional_expression_as_left_value)
BOOST_CHECK(callContractFunction("f(uint256)", u256(20)) == toBigEndian(u256(3)));
BOOST_CHECK(callContractFunction("f(uint256)", u256(5)) == toBigEndian(u256(1)));
}
*/
BOOST_AUTO_TEST_CASE(conditional_expression_with_return_values)
{
char const* sourceCode = R"(
contract test {
function f(bool cond, uint v) returns (uint a, uint b) {
cond ? a = v : b = v;
}
})";
compileAndRun(sourceCode);
BOOST_CHECK(callContractFunction("f(bool,uint256)", true, u256(20)) == encodeArgs(u256(20), u256(0)));
BOOST_CHECK(callContractFunction("f(bool,uint256)", false, u256(20)) == encodeArgs(u256(0), u256(20)));
}
BOOST_AUTO_TEST_CASE(recursive_calls)
{