提交 6805904a 编写于 作者: K Kevin Heifner

Update tests for new asset checks

上级 6f4e9a0f
......@@ -294,10 +294,8 @@ BOOST_FIXTURE_TEST_CASE(test_symbol, TESTER) try {
// invalid - contains lower case characters, no validation
{
symbol malformed(SY(6,EoS));
BOOST_REQUIRE_EQUAL(false, malformed.valid());
BOOST_REQUIRE_EQUAL("EoS", malformed.name());
BOOST_REQUIRE_EQUAL(6, malformed.decimals());
BOOST_CHECK_EXCEPTION(symbol malformed(SY(6,EoS)),
fc::assert_exception, assert_message_contains("invalid symbol"));
}
// invalid - contains lower case characters, exception thrown
......
......@@ -131,6 +131,28 @@ BOOST_FIXTURE_TEST_CASE( create_negative_max_supply, eosio_token_tester ) try {
} FC_LOG_AND_RETHROW()
BOOST_FIXTURE_TEST_CASE( symbol_already_exists, eosio_token_tester ) try {
auto token = create( N(alice), asset::from_string("100 TKN"), true, false, false);
auto stats = get_stats("0,TKN");
REQUIRE_MATCHING_OBJECT( stats, mvo()
("supply", "0 TKN")
("max_supply", "100 TKN")
("issuer", "alice")
("can_freeze",1)
("can_recall",0)
("can_whitelist",0)
("is_frozen",false)
("enforce_whitelist",false)
);
produce_blocks(1);
BOOST_REQUIRE_EQUAL( error( "condition: assertion failed: token with symbol already exists" ),
create( N(alice), asset::from_string("100 TKN"), true, false, false)
);
} FC_LOG_AND_RETHROW()
BOOST_FIXTURE_TEST_CASE( create_max_supply, eosio_token_tester ) try {
auto token = create( N(alice), asset::from_string("4611686018427387903 TKN"), true, false, false);
......@@ -147,9 +169,13 @@ BOOST_FIXTURE_TEST_CASE( create_max_supply, eosio_token_tester ) try {
);
produce_blocks(1);
BOOST_REQUIRE_EQUAL( error( "condition: assertion failed: invalid supply" ),
create( N(alice), asset::from_string("4611686018427387904 TKN"), true, false, false)
);
asset max(10, symbol(SY(0, NKT)));
max.amount = 4611686018427387904;
BOOST_CHECK_EXCEPTION( create( N(alice), max, true, false, false) , asset_type_exception, [](const asset_type_exception& e) {
return expect_assert_message(e, "magnitude of asset amount must be less than 2^62");
});
} FC_LOG_AND_RETHROW()
......@@ -169,15 +195,13 @@ BOOST_FIXTURE_TEST_CASE( create_max_decimals, eosio_token_tester ) try {
);
produce_blocks(1);
BOOST_REQUIRE_EQUAL( error( "condition: assertion failed: invalid supply" ),
create( N(alice), asset::from_string("4.611686018427387904 TKN"), true, false, false)
);
asset max(10, symbol(SY(0, NKT)));
//1.0000000000000000000 => 0x8ac7230489e80000L
//TODO: Better error message
BOOST_REQUIRE_EQUAL( error( "condition: assertion failed: max-supply must be positive" ),
create( N(alice), asset::from_string("1.0000000000000000000 TKN"), true, false, false)
);
max.amount = 0x8ac7230489e80000L;
BOOST_CHECK_EXCEPTION( create( N(alice), max, true, false, false) , asset_type_exception, [](const asset_type_exception& e) {
return expect_assert_message(e, "magnitude of asset amount must be less than 2^62");
});
} FC_LOG_AND_RETHROW()
......@@ -211,10 +235,6 @@ BOOST_FIXTURE_TEST_CASE( issue_tests, eosio_token_tester ) try {
issue( N(alice), N(alice), asset::from_string("500.001 TKN"), "hola" )
);
BOOST_REQUIRE_EQUAL( error( "condition: assertion failed: invalid quantity" ),
issue( N(alice), N(alice), asset::from_string("4611686018427387.904 TKN"), "hola" )
);
BOOST_REQUIRE_EQUAL( error( "condition: assertion failed: must issue positive quantity" ),
issue( N(alice), N(alice), asset::from_string("-1.000 TKN"), "hola" )
);
......@@ -275,10 +295,6 @@ BOOST_FIXTURE_TEST_CASE( transfer_tests, eosio_token_tester ) try {
transfer( N(alice), N(bob), asset::from_string("701 CERO"), "hola" )
);
BOOST_REQUIRE_EQUAL( error( "condition: assertion failed: invalid quantity" ),
transfer( N(alice), N(bob), asset::from_string("4611686018427387904 CERO"), "hola" )
);
BOOST_REQUIRE_EQUAL( error( "condition: assertion failed: must transfer positive quantity" ),
transfer( N(alice), N(bob), asset::from_string("-1000 CERO"), "hola" )
);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册