[Groonga-commit] groonga/grnxx:884ac6e [master] Add tests for grnxx::alpha::map::DoubleArray.

Back to archive index

susumu.yata null+****@clear*****
Wed Apr 17 16:55:07 JST 2013


susumu.yata	2013-04-17 16:55:07 +0900 (Wed, 17 Apr 2013)

  New Revision: 884ac6e576708bb5ff2f00bb66d5b7062243d152
  https://github.com/groonga/grnxx/commit/884ac6e576708bb5ff2f00bb66d5b7062243d152

  Message:
    Add tests for grnxx::alpha::map::DoubleArray.

  Modified files:
    test/test_alpha_map.cpp

  Modified: test/test_alpha_map.cpp (+53 -3)
===================================================================
--- test/test_alpha_map.cpp    2013-04-17 16:54:43 +0900 (a822f4e)
+++ test/test_alpha_map.cpp    2013-04-17 16:55:07 +0900 (c6f3cb0)
@@ -414,7 +414,7 @@ void test_map_array() {
   }
 }
 
-void test_nan() {
+void test_map_array_nan() {
   grnxx::io::Pool pool;
   pool.open(grnxx::io::POOL_ANONYMOUS);
 
@@ -576,6 +576,44 @@ void test_map_double_array() {
   }
 }
 
+void test_map_double_array_nan() {
+  grnxx::io::Pool pool;
+  pool.open(grnxx::io::POOL_ANONYMOUS);
+
+  std::unique_ptr<Map<double>> map;
+  map.reset(map->create(grnxx::alpha::MAP_DOUBLE_ARRAY, pool));
+
+  const double nan = std::numeric_limits<double>::quiet_NaN();
+
+  std::int64_t key_id;
+  assert(map->insert(nan, &key_id));
+  assert(key_id == 0);
+  assert(!map->insert(nan));
+
+  double key;
+  assert(map->get(key_id, &key));
+  assert(std::isnan(key));
+  assert(map->find(nan, &key_id));
+  assert(key_id == 0);
+
+  assert(map->unset(key_id));
+  assert(!map->unset(key_id));
+
+  assert(map->insert(nan));
+  assert(map->remove(nan));
+  assert(!map->remove(nan));
+
+  assert(!map->reset(nan, nan));
+  assert(map->insert(nan, &key_id));
+  assert(!map->reset(key_id, nan));
+  assert(map->reset(key_id, 0.0));
+  assert(map->reset(key_id, nan));
+
+  assert(!map->update(nan, nan));
+  assert(map->update(nan, 0.0));
+  assert(map->update(0.0, nan));
+}
+
 int main() {
   grnxx::Logger::set_flags(grnxx::LOGGER_WITH_ALL |
                            grnxx::LOGGER_ENABLE_COUT);
@@ -593,9 +631,21 @@ int main() {
   test_map_array<grnxx::alpha::GeoPoint>();
   test_map_array<grnxx::Slice>();
 
-  test_nan();
-
+  test_map_array_nan();
+
+  test_map_double_array<int8_t>();
+  test_map_double_array<std::int16_t>();
+  test_map_double_array<std::int32_t>();
+  test_map_double_array<std::int64_t>();
+  test_map_double_array<std::uint8_t>();
+  test_map_double_array<std::uint16_t>();
+  test_map_double_array<std::uint32_t>();
+  test_map_double_array<std::uint64_t>();
+  test_map_double_array<double>();
+  test_map_double_array<grnxx::alpha::GeoPoint>();
   test_map_double_array<grnxx::Slice>();
 
+  test_map_double_array_nan();
+
   return 0;
 }
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index