diff options
| author | levlam <levlam@telegram.org> | 2024-11-01 23:22:16 +0300 |
|---|---|---|
| committer | levlam <levlam@telegram.org> | 2024-11-01 23:22:16 +0300 |
| commit | b3c741ff2e1079d2d7f26329b288df6118421b85 (patch) | |
| tree | 52e795d4ecffb2c59955db90cf3993c44f37711e /tdutils/test | |
| parent | 4e5bd36f49203f5a8aeec24b2157605670560cf1 (diff) | |
Add td::vector_split.
Diffstat (limited to 'tdutils/test')
| -rw-r--r-- | tdutils/test/misc.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tdutils/test/misc.cpp b/tdutils/test/misc.cpp index cabd4e6ef..a3ae1b4e6 100644 --- a/tdutils/test/misc.cpp +++ b/tdutils/test/misc.cpp @@ -322,6 +322,29 @@ TEST(Misc, bench_zero_encode) { td::bench(ZeroEncodeBenchmark()); } +static void test_vector_split(td::vector<char> v, std::size_t size, const td::vector<td::vector<char>> &expected) { + auto split = td::vector_split(std::move(v), size); + if (expected != split) { + LOG(FATAL) << "Receive " << split << ", expected " << expected << " in vector_split"; + } +} + +TEST(Misc, vector_split) { + test_vector_split({}, 1, {}); + test_vector_split({}, 2, {}); + test_vector_split({'1'}, 1, {{'1'}}); + test_vector_split({'1'}, 2, {{'1'}}); + td::vector<char> v{'1', '2', '3', '4', '5', '6'}; + test_vector_split(v, 1, {{'1'}, {'2'}, {'3'}, {'4'}, {'5'}, {'6'}}); + test_vector_split(v, 2, {{'1', '2'}, {'3', '4'}, {'5', '6'}}); + test_vector_split(v, 3, {{'1', '2', '3'}, {'4', '5', '6'}}); + test_vector_split(v, 4, {{'1', '2', '3', '4'}, {'5', '6'}}); + test_vector_split(v, 5, {{'1', '2', '3', '4', '5'}, {'6'}}); + test_vector_split(v, 6, {v}); + test_vector_split(v, 7, {v}); + test_vector_split(v, 107, {v}); +} + template <class T> static void test_remove_if(td::vector<int> v, const T &func, const td::vector<int> &expected) { td::remove_if(v, func); |
