[Groonga-commit] groonga/grnxx at 606cde2 [new_data_types] Add a test for Vector<GeoPoint>. (#109)

Back to archive index

susumu.yata null+****@clear*****
Mon Nov 17 16:10:55 JST 2014


susumu.yata	2014-11-17 16:10:55 +0900 (Mon, 17 Nov 2014)

  New Revision: 606cde204657c65bb066852328fdd6b63a58a3e0
  https://github.com/groonga/grnxx/commit/606cde204657c65bb066852328fdd6b63a58a3e0

  Message:
    Add a test for Vector<GeoPoint>. (#109)

  Modified files:
    test/test_data_types.cpp

  Modified: test/test_data_types.cpp (+73 -0)
===================================================================
--- test/test_data_types.cpp    2014-11-17 16:10:44 +0900 (b3c4689)
+++ test/test_data_types.cpp    2014-11-17 16:10:55 +0900 (4661ccd)
@@ -1124,6 +1124,78 @@ void test_int_vector() {
   assert((na != na).is_na());
 }
 
+void test_geo_point_vector() {
+  grnxx::GeoPoint data[] = {
+    { grnxx::Float(43.068661), grnxx::Float(141.350755) },  // Sapporo.
+    { grnxx::Float(35.681382), grnxx::Float(139.766084) },  // Tokyo.
+    { grnxx::Float(34.702485), grnxx::Float(135.495951) },  // Osaka.
+    grnxx::GeoPoint::na()
+  };
+
+  grnxx::GeoPointVector sto = grnxx::GeoPointVector(data, 3);
+  grnxx::GeoPointVector ton = grnxx::GeoPointVector(data + 1, 3);
+  grnxx::GeoPointVector empty = grnxx::GeoPointVector::empty();
+  grnxx::GeoPointVector na = grnxx::GeoPointVector::na();
+
+  assert(sto.type() == grnxx::GEO_POINT_VECTOR_DATA);
+  assert(ton.type() == grnxx::GEO_POINT_VECTOR_DATA);
+  assert(empty.type() == grnxx::GEO_POINT_VECTOR_DATA);
+  assert(na.type() == grnxx::GEO_POINT_VECTOR_DATA);
+
+  assert(sto[0].latitude() == data[0].latitude());
+  assert(sto[1].latitude() == data[1].latitude());
+  assert(sto[2].latitude() == data[2].latitude());
+
+  assert(ton[0].latitude() == data[1].latitude());
+  assert(ton[1].latitude() == data[2].latitude());
+  assert(ton[2].latitude() == data[3].latitude());
+
+  assert(sto[0].longitude() == data[0].longitude());
+  assert(sto[1].longitude() == data[1].longitude());
+  assert(sto[2].longitude() == data[2].longitude());
+
+  assert(ton[0].longitude() == data[1].longitude());
+  assert(ton[1].longitude() == data[2].longitude());
+  assert(ton[2].longitude() == data[3].longitude());
+
+  assert(sto.size().value() == 3);
+  assert(ton.size().value() == 3);
+  assert(empty.size().value() == 0);
+  assert(na.size().is_na());
+
+  assert(!sto.is_empty());
+  assert(!sto.is_empty());
+  assert(empty.is_empty());
+  assert(!na.is_empty());
+
+  assert(!sto.is_na());
+  assert(!ton.is_na());
+  assert(!empty.is_na());
+  assert(na.is_na());
+
+  assert((sto == sto).is_true());
+  assert((sto == ton).is_false());
+  assert((sto == empty).is_false());
+  assert((sto == na).is_na());
+  assert((ton == ton).is_true());
+  assert((ton == empty).is_false());
+  assert((ton == na).is_na());
+  assert((empty == empty).is_true());
+  assert((empty == na).is_na());
+  assert((na == na).is_na());
+
+  assert((sto != sto).is_false());
+  assert((sto != ton).is_true());
+  assert((sto != empty).is_true());
+  assert((sto != na).is_na());
+  assert((ton != ton).is_false());
+  assert((ton != empty).is_true());
+  assert((ton != na).is_na());
+  assert((empty != empty).is_false());
+  assert((empty != na).is_na());
+  assert((na != na).is_na());
+}
+
 int main() {
   test_bool();
   test_int();
@@ -1132,5 +1204,6 @@ int main() {
   test_text();
   test_bool_vector();
   test_int_vector();
+  test_geo_point_vector();
   return 0;
 }
-------------- next part --------------
HTML����������������������������...
下載 



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