| 795 | } |
| 796 | |
| 797 | void CheckWriteCoins(CAmount parent_value, CAmount child_value, CAmount expected_value, char parent_flags, char child_flags, char expected_flags) |
| 798 | { |
| 799 | SingleEntryCacheTest test(ABSENT, parent_value, parent_flags); |
| 800 | |
| 801 | CAmount result_value; |
| 802 | char result_flags; |
| 803 | try { |
| 804 | WriteCoinsViewEntry(test.cache, child_value, child_flags); |
| 805 | test.cache.SelfTest(); |
| 806 | GetCoinsMapEntry(test.cache.map(), result_value, result_flags); |
| 807 | } catch (std::logic_error&) { |
| 808 | result_value = FAIL; |
| 809 | result_flags = NO_ENTRY; |
| 810 | } |
| 811 | |
| 812 | BOOST_CHECK_EQUAL(result_value, expected_value); |
| 813 | BOOST_CHECK_EQUAL(result_flags, expected_flags); |
| 814 | } |
| 815 | |
| 816 | BOOST_AUTO_TEST_CASE(ccoins_write) |
| 817 | { |
no test coverage detected