[Groonga-commit] groonga/grnxx at ef5fdda [master] Add tests for Expression::push_row_id/score(). (#54)

Zurück zum Archiv-Index

susumu.yata null+****@clear*****
Wed Sep 10 14:49:37 JST 2014


susumu.yata	2014-09-10 14:49:37 +0900 (Wed, 10 Sep 2014)

  New Revision: ef5fdda94a79b57c26e2eb3b24c2ed508d5bd3fc
  https://github.com/groonga/grnxx/commit/ef5fdda94a79b57c26e2eb3b24c2ed508d5bd3fc

  Message:
    Add tests for Expression::push_row_id/score(). (#54)

  Modified files:
    test/test_expression.cpp

  Modified: test/test_expression.cpp (+58 -30)
===================================================================
--- test/test_expression.cpp    2014-09-10 14:49:24 +0900 (9c9a791)
+++ test/test_expression.cpp    2014-09-10 14:49:37 +0900 (5c53d8d)
@@ -532,6 +532,62 @@ void test_constant() {
   }
 }
 
+void test_row_id() {
+  grnxx::Error error;
+
+  // Create an object for building expressions.
+  auto builder = grnxx::ExpressionBuilder::create(&error, test.table);
+  assert(builder);
+
+  // Test an expression (_id).
+  assert(builder->push_row_id(&error));
+  auto expression = builder->release(&error);
+  assert(expression);
+
+  grnxx::Array<grnxx::Record> records;
+  auto cursor = test.table->create_cursor(&error);
+  assert(cursor);
+  assert(cursor->read_all(&error, &records) == test.table->num_rows());
+
+  grnxx::Array<grnxx::Int> id_results;
+  assert(expression->evaluate(&error, records, &id_results));
+  assert(id_results.size() == test.table->num_rows());
+  for (grnxx::Int i = 0; i < id_results.size(); ++i) {
+    assert(id_results[i] == records.get_row_id(i));
+  }
+}
+
+void test_score() {
+  grnxx::Error error;
+
+  // Create an object for building expressions.
+  auto builder = grnxx::ExpressionBuilder::create(&error, test.table);
+  assert(builder);
+
+  // Test an expression (_score).
+  assert(builder->push_score(&error));
+  auto expression = builder->release(&error);
+  assert(expression);
+
+  grnxx::Array<grnxx::Record> records;
+  auto cursor = test.table->create_cursor(&error);
+  assert(cursor);
+  assert(cursor->read_all(&error, &records) == test.table->num_rows());
+
+  grnxx::Array<grnxx::Float> score_results;
+  assert(expression->evaluate(&error, records, &score_results));
+  assert(score_results.size() == test.table->num_rows());
+  for (grnxx::Int i = 0; i < score_results.size(); ++i) {
+    assert(score_results[i] == records.get_score(i));
+  }
+
+  assert(expression->adjust(&error, &records));
+  assert(records.size() == test.table->num_rows());
+  for (grnxx::Int i = 0; i < records.size(); ++i) {
+    assert(records.get_score(i) == 0.0);
+  }
+}
+
 void test_column() {
   grnxx::Error error;
 
@@ -726,36 +782,6 @@ void test_column() {
     assert(text_vector_results[i] == test.text_vector_values[row_id]);
   }
 
-  // Test and expression (_id).
-  assert(builder->push_column(&error, "_id"));
-  expression = builder->release(&error);
-  assert(expression);
-
-  grnxx::Array<grnxx::Int> id_results;
-  assert(expression->evaluate(&error, records, &id_results));
-  assert(id_results.size() == test.table->num_rows());
-  for (grnxx::Int i = 0; i < id_results.size(); ++i) {
-    assert(id_results[i] == records.get_row_id(i));
-  }
-
-  // Test and expression (_score).
-  assert(builder->push_column(&error, "_score"));
-  expression = builder->release(&error);
-  assert(expression);
-
-  grnxx::Array<grnxx::Float> score_results;
-  assert(expression->evaluate(&error, records, &score_results));
-  assert(score_results.size() == test.table->num_rows());
-  for (grnxx::Int i = 0; i < score_results.size(); ++i) {
-    assert(score_results[i] == records.get_score(i));
-  }
-
-  assert(expression->adjust(&error, &records));
-  assert(records.size() == test.table->num_rows());
-  for (grnxx::Int i = 0; i < records.size(); ++i) {
-    assert(records.get_score(i) == 0.0);
-  }
-
   // Test an expression (Ref).
   assert(builder->push_column(&error, "Ref"));
   expression = builder->release(&error);
@@ -3133,6 +3159,8 @@ int main() {
 
   // Data.
   test_constant();
+  test_row_id();
+  test_score();
   test_column();
 
   // Unary operators.
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Zurück zum Archiv-Index