susumu.yata
null+****@clear*****
Mon May 27 16:16:33 JST 2013
susumu.yata 2013-05-27 16:16:33 +0900 (Mon, 27 May 2013) New Revision: 13c8923c4f908cf3ba26237dd57a37c904fdb808 https://github.com/groonga/grnxx/commit/13c8923c4f908cf3ba26237dd57a37c904fdb808 Message: Add tests for grnxx::Map::all_keys(), key_id(), and key(). Modified files: test/test_map.cpp Modified: test/test_map.cpp (+76 -44) =================================================================== --- test/test_map.cpp 2013-05-27 16:09:08 +0900 (6c08e8f) +++ test/test_map.cpp 2013-05-27 16:16:33 +0900 (6d005b3) @@ -586,48 +586,78 @@ void test_map_truncate(grnxx::MapType map_type) { } } -//template <typename T> -//void test_map_key_id(grnxx::MapType map_type) { -// std::unique_ptr<grnxx::Storage> storage(grnxx::Storage::create(nullptr)); -// std::unique_ptr<grnxx::Map<T>> map( -// grnxx::Map<T>::create(map_type, storage.get(), -// grnxx::STORAGE_ROOT_NODE_ID)); -// assert(map); -// const std::int64_t min = 10; -// const std::int64_t max = 100; - -// map->key_id() > min; -// map->key_id() >= min; -// map->key_id() < max; -// map->key_id() <= max; - -// min < map->key_id(); -// min <= map->key_id(); -// max > map->key_id(); -// max >= map->key_id(); - -// (map->key_id() > min) && (map->key_id() < max); -// (map->key_id() > min) && (map->key_id() <= max); -// (map->key_id() >= min) && (map->key_id() < max); -// (map->key_id() >= min) && (map->key_id() <= max); - -// (map->key_id() < max) && (map->key_id() > min); -// (map->key_id() <= max) && (map->key_id() > min); -// (map->key_id() < max) && (map->key_id() >= min); -// (map->key_id() <= max) && (map->key_id() >= min); -//} - -//template <typename T> -//void test_map_key(grnxx::MapType map_type) { -// std::unique_ptr<grnxx::Storage> storage(grnxx::Storage::create(nullptr)); -// std::unique_ptr<grnxx::Map<T>> map( -// grnxx::Map<T>::create(map_type, storage.get(), -// grnxx::STORAGE_ROOT_NODE_ID)); -// assert(map); -// T key = generate_random_key<T>(); - -// map->key() > key; -//} +template <typename T> +void test_map_all_keys(grnxx::MapType map_type) { + std::unique_ptr<grnxx::Storage> storage(grnxx::Storage::create(nullptr)); + std::unique_ptr<grnxx::Map<T>> map( + grnxx::Map<T>::create(map_type, storage.get(), + grnxx::STORAGE_ROOT_NODE_ID)); + assert(map); + + map->all_keys(); +} + +template <typename T> +void test_map_key_id(grnxx::MapType map_type) { + std::unique_ptr<grnxx::Storage> storage(grnxx::Storage::create(nullptr)); + std::unique_ptr<grnxx::Map<T>> map( + grnxx::Map<T>::create(map_type, storage.get(), + grnxx::STORAGE_ROOT_NODE_ID)); + assert(map); + const std::int64_t min = 10; + const std::int64_t max = 100; + + map->key_id() > min; + map->key_id() >= min; + map->key_id() < max; + map->key_id() <= max; + + min < map->key_id(); + min <= map->key_id(); + max > map->key_id(); + max >= map->key_id(); + + (map->key_id() > min) && (map->key_id() < max); + (map->key_id() > min) && (map->key_id() <= max); + (map->key_id() >= min) && (map->key_id() < max); + (map->key_id() >= min) && (map->key_id() <= max); + + (map->key_id() < max) && (map->key_id() > min); + (map->key_id() <= max) && (map->key_id() > min); + (map->key_id() < max) && (map->key_id() >= min); + (map->key_id() <= max) && (map->key_id() >= min); +} + +template <typename T> +void test_map_key(grnxx::MapType map_type) { + std::unique_ptr<grnxx::Storage> storage(grnxx::Storage::create(nullptr)); + std::unique_ptr<grnxx::Map<T>> map( + grnxx::Map<T>::create(map_type, storage.get(), + grnxx::STORAGE_ROOT_NODE_ID)); + assert(map); + T min = generate_random_key<T>(); + T max = generate_random_key<T>(); + + map->key() > min; + map->key() >= min; + map->key() < max; + map->key() <= max; + + min < map->key(); + min <= map->key(); + max > map->key(); + max >= map->key(); + + (map->key() > min) && (map->key() < max); + (map->key() > min) && (map->key() <= max); + (map->key() >= min) && (map->key() < max); + (map->key() >= min) && (map->key() <= max); + + (map->key() < max) && (map->key() > min); + (map->key() <= max) && (map->key() > min); + (map->key() < max) && (map->key() >= min); + (map->key() <= max) && (map->key() >= min); +} template <typename T> void test_map_create_cursor(grnxx::MapType map_type) { @@ -676,8 +706,9 @@ void test_map(grnxx::MapType map_type) { test_map_replace<T>(map_type); test_map_find_longest_prefix_match<T>(map_type); test_map_truncate<T>(map_type); -// test_map_key_id<T>(map_type); -// test_map_key<T>(map_type); + test_map_all_keys<T>(map_type); + test_map_key_id<T>(map_type); + test_map_key<T>(map_type); test_map_create_cursor<T>(map_type); test_map_create_scanner<T>(map_type); } @@ -706,6 +737,7 @@ void test_bytes_store() { } void test_map() { + // TODO: Add grnxx::Bytes. test_map(std::int8_t(), std::uint8_t(), std::int16_t(), -------------- next part -------------- HTML����������������������������...Download