susumu.yata
null+****@clear*****
Mon Aug 19 13:17:30 JST 2013
susumu.yata 2013-08-19 13:17:30 +0900 (Mon, 19 Aug 2013) New Revision: 2aa6507caf17e620c1b79eca11c3887f003b4a95 https://github.com/groonga/grnxx/commit/2aa6507caf17e620c1b79eca11c3887f003b4a95 Message: Add a test for grnxx::map::Pool::sweep(). Modified files: test/test_map_pool.cpp Modified: test/test_map_pool.cpp (+17 -1) =================================================================== --- test/test_map_pool.cpp 2013-08-19 13:17:05 +0900 (5738cad) +++ test/test_map_pool.cpp 2013-08-19 13:17:30 +0900 (8ca7dc2) @@ -439,7 +439,23 @@ void test_map_pool_defrag() { template <typename T> void test_map_pool_sweep() { - // TODO + std::unique_ptr<grnxx::Storage> storage(grnxx::Storage::create(nullptr)); + std::unique_ptr<grnxx::map::Pool<T>> pool( + grnxx::map::Pool<T>::create(storage.get(), + grnxx::STORAGE_ROOT_NODE_ID)); + std::vector<T> keys; + std::vector<std::int64_t> key_ids; + generate_random_keys(get_num_keys<T>(), &keys); + for (std::uint64_t i = 0; i < keys.size(); ++i) { + const std::int64_t key_id = pool->add(keys[i]); + key_ids.push_back(key_id); + } + pool->sweep(grnxx::Duration(0)); + for (std::uint64_t i = 0; i < keys.size(); ++i) { + T stored_key; + assert(pool->get(key_ids[i], &stored_key)); + assert(grnxx::map::Helper<T>::equal_to(stored_key, keys[i])); + } } template <typename T> -------------- next part -------------- HTML����������������������������...Download