From bee7f31f07570daf0ae867c2c0dd516d87110507 Mon Sep 17 00:00:00 2001 From: Peter Conrad Date: Fri, 20 Oct 2017 22:30:38 +0200 Subject: [PATCH] Added unit test for #429 --- tests/tests/fee_tests.cpp | 50 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/tests/tests/fee_tests.cpp b/tests/tests/fee_tests.cpp index 934d9fc1..2521f1db 100644 --- a/tests/tests/fee_tests.cpp +++ b/tests/tests/fee_tests.cpp @@ -947,4 +947,54 @@ BOOST_AUTO_TEST_CASE( stealth_fba_test ) } } +BOOST_AUTO_TEST_CASE( issue_429_test ) +{ + try + { + ACTORS((alice)); + + transfer( committee_account, alice_id, asset( 1000000 * asset::scaled_precision( asset_id_type()(db).precision ) ) ); + + // make sure the database requires our fee to be nonzero + enable_fees(); + + auto fees_to_pay = db.get_global_properties().parameters.current_fees->get(); + + { + signed_transaction tx; + asset_create_operation op; + op.issuer = alice_id; + op.symbol = "ALICE"; + op.common_options.core_exchange_rate = asset( 1 ) / asset( 1, asset_id_type( 1 ) ); + op.fee = asset( (fees_to_pay.long_symbol + fees_to_pay.price_per_kbyte) & (~1) ); + tx.operations.push_back( op ); + set_expiration( db, tx ); + sign( tx, alice_private_key ); + PUSH_TX( db, tx ); + } + + verify_asset_supplies( db ); + + { + signed_transaction tx; + asset_create_operation op; + op.issuer = alice_id; + op.symbol = "ALICE.ODD"; + op.common_options.core_exchange_rate = asset( 1 ) / asset( 1, asset_id_type( 1 ) ); + op.fee = asset((fees_to_pay.long_symbol + fees_to_pay.price_per_kbyte) | 1); + tx.operations.push_back( op ); + set_expiration( db, tx ); + sign( tx, alice_private_key ); + PUSH_TX( db, tx ); + } + + verify_asset_supplies( db ); + } + catch( const fc::exception& e ) + { + edump((e.to_detail_string())); + throw; + } +} + BOOST_AUTO_TEST_SUITE_END()