[Groonga-commit] groonga/grnxx at 7c619fc [master] Add tests for ConstantNode<Vector<T>>. (#104)

Back to archive index

susumu.yata null+****@clear*****
Tue Dec 16 10:44:03 JST 2014


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

  New Revision: 7c619fc727e5925d0b8f947961d04b703a61978a
  https://github.com/groonga/grnxx/commit/7c619fc727e5925d0b8f947961d04b703a61978a

  Message:
    Add tests for ConstantNode<Vector<T>>. (#104)

  Modified files:
    test/test_expression.cpp

  Modified: test/test_expression.cpp (+63 -52)
===================================================================
--- test/test_expression.cpp    2014-11-17 18:25:19 +0900 (364450a)
+++ test/test_expression.cpp    2014-11-17 18:26:25 +0900 (9981f50)
@@ -482,62 +482,73 @@ void test_constant() try {
     assert((text_results[i] == grnxx::Text("ABC")).is_true());
   }
 
-//  // Test an expression ({ true, false, true }).
-//  assert(builder->push_constant(
-//      &error, grnxx::BoolVector({ true, false, true })));
-//  expression = builder->release(&error);
-//  assert(expression);
-
-//  grnxx::Array<grnxx::BoolVector> bool_vector_results;
-//  assert(expression->evaluate(&error, records, &bool_vector_results));
-//  assert(bool_vector_results.size() == test.table->num_rows());
-//  for (grnxx::Int i = 0; i < bool_vector_results.size(); ++i) {
-//    assert(bool_vector_results[i] ==
-//           grnxx::BoolVector({ true, false, true }));
-//  }
-
-//  // Test an expression ({ 123, -456, 789 }).
-//  grnxx::Int int_values[] = { 123, -456, 789 };
-//  assert(builder->push_constant(&error, grnxx::IntVector(int_values, 3)));
-//  expression = builder->release(&error);
-//  assert(expression);
-
-//  grnxx::Array<grnxx::IntVector> int_vector_results;
-//  assert(expression->evaluate(&error, records, &int_vector_results));
-//  assert(int_vector_results.size() == test.table->num_rows());
-//  for (grnxx::Int i = 0; i < int_vector_results.size(); ++i) {
-//    assert(int_vector_results[i] == grnxx::IntVector(int_values, 3));
-//  }
+  // Test an expression ({ true, false, true }).
+  grnxx::Bool bool_values[] = {
+    grnxx::Bool(true),
+    grnxx::Bool(false),
+    grnxx::Bool(true)
+  };
+  grnxx::BoolVector bool_vector(bool_values, 3);
+  builder->push_constant(bool_vector);
+  expression = builder->release();
 
-//  // Test an expression ({ 1.25, -4.5, 6.75 }).
-//  grnxx::Float float_values[] = { 1.25, -4.5, 6.75 };
-//  assert(builder->push_constant(&error, grnxx::FloatVector(float_values, 3)));
-//  expression = builder->release(&error);
-//  assert(expression);
+  grnxx::Array<grnxx::BoolVector> bool_vector_results;
+  expression->evaluate(records, &bool_vector_results);
+  assert(bool_vector_results.size() == test.table->num_rows());
+  for (size_t i = 0; i < bool_vector_results.size(); ++i) {
+    assert((bool_vector_results[i] == bool_vector).is_true());
+  }
+
+  // Test an expression ({ 123, -456, 789 }).
+  grnxx::Int int_values[] = {
+    grnxx::Int(123),
+    grnxx::Int(-456),
+    grnxx::Int(789)
+  };
+  grnxx::IntVector int_vector(int_values, 3);
+  builder->push_constant(int_vector);
+  expression = builder->release();
 
-//  grnxx::Array<grnxx::FloatVector> float_vector_results;
-//  assert(expression->evaluate(&error, records, &float_vector_results));
-//  assert(float_vector_results.size() == test.table->num_rows());
-//  for (grnxx::Int i = 0; i < float_vector_results.size(); ++i) {
-//    assert(float_vector_results[i] == grnxx::FloatVector(float_values, 3));
-//  }
+  grnxx::Array<grnxx::IntVector> int_vector_results;
+  expression->evaluate(records, &int_vector_results);
+  assert(int_vector_results.size() == test.table->num_rows());
+  for (size_t i = 0; i < int_vector_results.size(); ++i) {
+    assert((int_vector_results[i] == int_vector).is_true());
+  }
+
+  // Test an expression ({ 1.25, -4.5, 6.75 }).
+  grnxx::Float float_values[] = {
+    grnxx::Float(1.25),
+    grnxx::Float(-4.5),
+    grnxx::Float(6.75)
+  };
+  grnxx::FloatVector float_vector(float_values, 3);
+  builder->push_constant(float_vector);
+  expression = builder->release();
 
-//  // Test an expression ({{ 123, 456 }, { 789, 123 }, { 456, 789 }}).
-//  grnxx::GeoPoint geo_point_values[] = {
-//    { 123, 456 }, { 789, 123 }, { 456, 789 }
-//  };
-//  assert(builder->push_constant(
-//      &error, grnxx::GeoPointVector(geo_point_values, 3)));
-//  expression = builder->release(&error);
-//  assert(expression);
+  grnxx::Array<grnxx::FloatVector> float_vector_results;
+  expression->evaluate(records, &float_vector_results);
+  assert(float_vector_results.size() == test.table->num_rows());
+  for (size_t i = 0; i < float_vector_results.size(); ++i) {
+    assert((float_vector_results[i] == float_vector).is_true());
+  }
+
+  // Test an expression ({ Sapporo, Tokyo, Osaka }).
+  grnxx::GeoPoint geo_point_values[] = {
+    { 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::GeoPointVector geo_point_vector(geo_point_values, 3);
+  builder->push_constant(geo_point_vector);
+  expression = builder->release();
 
-//  grnxx::Array<grnxx::GeoPointVector> geo_point_vector_results;
-//  assert(expression->evaluate(&error, records, &geo_point_vector_results));
-//  assert(geo_point_vector_results.size() == test.table->num_rows());
-//  for (grnxx::Int i = 0; i < geo_point_vector_results.size(); ++i) {
-//    assert(geo_point_vector_results[i] ==
-//           grnxx::GeoPointVector(geo_point_values, 3));
-//  }
+  grnxx::Array<grnxx::GeoPointVector> geo_point_vector_results;
+  expression->evaluate(records, &geo_point_vector_results);
+  assert(geo_point_vector_results.size() == test.table->num_rows());
+  for (size_t i = 0; i < geo_point_vector_results.size(); ++i) {
+    assert((geo_point_vector_results[i] == geo_point_vector).is_true());
+  }
 
 //  // Test an expression ({ "abc", "DEF", "ghi" }).
 //  grnxx::Text text_values[] = { "abc", "DEF", "ghi" };
-------------- next part --------------
HTML����������������������������...
Descargar 



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