32 #include "gtest/gtest.h" 39 #define VEC_FROM_ARR(vec) \ 40 std::vector<uint64_t> vec; \ 41 for (size_t i = 0; i < sizeof(vec##_arr) / sizeof(vec##_arr[0]); ++i) \ 43 vec.push_back(vec##_arr[i]); \ 48 struct chunk_handler_t
50 void operator()(
uint64_t chunk)
const 52 m_chunks.push_back(chunk);
55 mutable std::vector<uint64_t> m_chunks;
73 mutable bool m_has_dust;
79 chunk_handler_t m_chunk_handler;
80 dust_handler_t m_dust_handler;
84 TEST_F(decompose_amount_into_digits_test, is_correct_0)
86 std::vector<uint64_t> expected_chunks;
88 ASSERT_EQ(m_chunk_handler.m_chunks, expected_chunks);
89 ASSERT_EQ(m_dust_handler.m_has_dust,
false);
92 TEST_F(decompose_amount_into_digits_test, is_correct_1)
94 std::vector<uint64_t> expected_chunks;
96 ASSERT_EQ(m_chunk_handler.m_chunks, expected_chunks);
97 ASSERT_EQ(m_dust_handler.m_has_dust,
false);
100 TEST_F(decompose_amount_into_digits_test, is_correct_2)
102 uint64_t expected_chunks_arr[] = {10};
105 ASSERT_EQ(m_chunk_handler.m_chunks, expected_chunks);
106 ASSERT_EQ(m_dust_handler.m_has_dust,
false);
109 TEST_F(decompose_amount_into_digits_test, is_correct_3)
111 std::vector<uint64_t> expected_chunks;
114 ASSERT_EQ(m_chunk_handler.m_chunks, expected_chunks);
115 ASSERT_EQ(m_dust_handler.m_dust, expected_dust);
118 TEST_F(decompose_amount_into_digits_test, is_correct_4)
121 std::vector<uint64_t> expected_chunks;
123 ASSERT_EQ(m_chunk_handler.m_chunks, expected_chunks);
124 ASSERT_EQ(m_dust_handler.m_dust, expected_dust);
127 TEST_F(decompose_amount_into_digits_test, is_correct_5)
129 uint64_t expected_chunks_arr[] = {100, 900000, 8000000};
132 ASSERT_EQ(m_chunk_handler.m_chunks, expected_chunks);
133 ASSERT_EQ(m_dust_handler.m_has_dust,
false);
136 TEST_F(decompose_amount_into_digits_test, is_correct_6)
138 uint64_t expected_chunks_arr[] = {900000, 8000000};
142 ASSERT_EQ(m_chunk_handler.m_chunks, expected_chunks);
143 ASSERT_EQ(m_dust_handler.m_dust, expected_dust);
void decompose_amount_into_digits(uint64_t amount, uint64_t dust_threshold, const chunk_handler_t &chunk_handler, const dust_handler_t &dust_handler)
TEST_F(decompose_amount_into_digits_test, is_correct_0)
#define ASSERT_EQ(val1, val2)
unsigned __int64 uint64_t
#define VEC_FROM_ARR(vec)