From a1aae5f8d2d2c4e9de6f8344e22e46067cd03c52 Mon Sep 17 00:00:00 2001 From: Michal Lesiak Date: Wed, 17 May 2023 12:20:09 +0200 Subject: [PATCH] Update tests to cover both const and non-const version of remove() --- .../unit/test_contracts/multi_index_tests.cpp | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/tests/unit/test_contracts/multi_index_tests.cpp b/tests/unit/test_contracts/multi_index_tests.cpp index 8fa99e7f69..155d753a1b 100644 --- a/tests/unit/test_contracts/multi_index_tests.cpp +++ b/tests/unit/test_contracts/multi_index_tests.cpp @@ -205,7 +205,7 @@ namespace _test_multi_index eosio::check(itr2 == table.end(), "idx64_general - table.erase()"); } - // insert, update and delete by iterator + // insert, update and remove by iterator { const uint64_t ssn = 421; auto new_person = table.insert(payer, [&](auto &r) @@ -224,7 +224,7 @@ namespace _test_multi_index eosio::check(itr2 == table.end(), "idx64_general - table.remove()"); } - // insert, update and delete by object + // insert, update and remove by object { const uint64_t ssn = 421; auto new_person = table.insert(payer, [&](auto &r) @@ -235,7 +235,26 @@ namespace _test_multi_index table.update(new_person, payer, [&](auto &r) { r.sec = "billy"_n.value; }); - table.remove(new_person); + const auto& person_object = table.get(ssn); + auto& mutable_person = const_cast(person_object); + table.remove(mutable_person); + auto itr2 = table.find(ssn); + eosio::check(itr2 == table.end(), "idx64_general - table.remove()"); + } + + // insert, update and remove by const object + { + const uint64_t ssn = 421; + auto new_person = table.insert(payer, [&](auto &r) + { + r.id = ssn; + r.sec = "bob"_n.value; }); + + table.update(new_person, payer, [&](auto &r) + { r.sec = "billy"_n.value; }); + + const auto& person_object = table.get(ssn); + table.remove(person_object); auto itr2 = table.find(ssn); eosio::check(itr2 == table.end(), "idx64_general - table.remove()"); }