[Groonga-commit] groonga/grnxx at 66f7c4f [master] Add a test for Column<Vector<Int>> as reference vector. (#110)

Back to archive index

susumu.yata null+****@clear*****
Tue Dec 16 11:12:57 JST 2014


susumu.yata	2014-11-17 18:03:17 +0900 (Mon, 17 Nov 2014)

  New Revision: 66f7c4fa3f6ea0f0a04fa4f6cbab48d54b8ba620
  https://github.com/groonga/grnxx/commit/66f7c4fa3f6ea0f0a04fa4f6cbab48d54b8ba620

  Message:
    Add a test for Column<Vector<Int>> as reference vector. (#110)

  Modified files:
    test/test_column.cpp

  Modified: test/test_column.cpp (+25 -25)
===================================================================
--- test/test_column.cpp    2014-11-17 17:51:51 +0900 (1bbe446)
+++ test/test_column.cpp    2014-11-17 18:03:17 +0900 (80a8b5e)
@@ -86,7 +86,7 @@ void test_column() {
   assert(reference_column->table() == table);
   assert(reference_column->name() == "Reference");
   assert(reference_column->data_type() == grnxx::INT_DATA);
-  assert(reference_column->reference_table());
+  assert(reference_column->reference_table() == table);
   assert(!reference_column->is_key());
 //  assert(int_column->num_indexes() == 0);
 
@@ -143,19 +143,16 @@ void test_column() {
 //  assert(!text_vector_column->has_key_attribute());
 //  assert(text_vector_column->num_indexes() == 0);
 
-//  // Create a column named "RefVectorColumn".
-//  // The column stores Int values.
-//  options.ref_table_name = "Table";
-//  auto ref_vector_column =
-//      table->create_column(&error, "RefVectorColumn",
-//                           grnxx::INT_VECTOR_DATA, options);
-//  assert(ref_vector_column);
-//  assert(ref_vector_column->table() == table);
-//  assert(ref_vector_column->name() == "RefVectorColumn");
-//  assert(ref_vector_column->data_type() == grnxx::INT_VECTOR_DATA);
-//  assert(ref_vector_column->ref_table());
-//  assert(!ref_vector_column->has_key_attribute());
-//  assert(ref_vector_column->num_indexes() == 0);
+  // Create a column named "ReferenceVector".
+  options.reference_table_name = "Table";
+  auto reference_vector_column =
+      table->create_column("ReferenceVector", grnxx::INT_VECTOR_DATA, options);
+  assert(reference_vector_column->table() == table);
+  assert(reference_vector_column->name() == "ReferenceVector");
+  assert(reference_vector_column->data_type() == grnxx::INT_VECTOR_DATA);
+  assert(reference_vector_column->reference_table() == table);
+  assert(!reference_vector_column->is_key());
+//  assert(reference_vector_column->num_indexes() == 0);
 
   // Check that the default values are stored.
   grnxx::Datum datum;
@@ -204,9 +201,9 @@ void test_column() {
 //  assert(datum.type() == grnxx::TEXT_VECTOR_DATA);
 //  assert(datum.force_text_vector() == grnxx::TextVector(nullptr, 0));
 
-//  assert(ref_vector_column->get(&error, 1, &datum));
-//  assert(datum.type() == grnxx::INT_VECTOR_DATA);
-//  assert(datum.force_int_vector() == grnxx::IntVector(nullptr, 0));
+  reference_vector_column->get(row_id, &datum);
+  assert(datum.type() == grnxx::INT_VECTOR_DATA);
+  assert(datum.as_int_vector().is_na());
 
   // Set and get values.
   bool_column->set(row_id, grnxx::Bool(true));
@@ -286,23 +283,26 @@ void test_column() {
   assert(datum.type() == grnxx::GEO_POINT_VECTOR_DATA);
   assert((datum.as_geo_point_vector() == geo_point_vector).is_true());
 
+  grnxx::Int reference_vector_value[] = {
+    grnxx::Int(0),
+    grnxx::Int(0),
+    grnxx::Int(0)
+  };
+  grnxx::IntVector reference_vector(reference_vector_value, 3);
+  reference_vector_column->set(row_id, reference_vector);
+  reference_vector_column->get(row_id, &datum);
+  assert(datum.type() == grnxx::INT_VECTOR_DATA);
+  assert((datum.as_int_vector() == reference_vector).is_true());
+
 //  // Set and get values.
 //  grnxx::Text text_vector_value[] = { "abc", "DEF", "ghi" };
 //  assert(text_vector_column->set(&error, 1,
 //                                 grnxx::TextVector(text_vector_value, 3)));
-//  grnxx::Int ref_vector_value[] = { 1, 1, 1 };
-//  assert(ref_vector_column->set(&error, 1,
-//                                grnxx::IntVector(ref_vector_value, 3)));
 
 //  assert(text_vector_column->get(&error, 1, &datum));
 //  assert(datum.type() == grnxx::TEXT_VECTOR_DATA);
 //  assert(datum.force_text_vector() ==
 //         grnxx::TextVector(text_vector_value, 3));
-
-//  assert(ref_vector_column->get(&error, 1, &datum));
-//  assert(datum.type() == grnxx::INT_VECTOR_DATA);
-//  assert(datum.force_int_vector() ==
-//         grnxx::IntVector(ref_vector_value, 3));
 }
 
 int main() {
-------------- next part --------------
HTML����������������������������...
Download 



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