[Groonga-commit] groonga/grnxx at b74957f [master] Add a test for (Ref.Ref).Int. (#55)

Back to archive index

susumu.yata null+****@clear*****
Fri Sep 12 17:23:05 JST 2014


susumu.yata	2014-09-12 17:23:05 +0900 (Fri, 12 Sep 2014)

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

  Message:
    Add a test for (Ref.Ref).Int. (#55)

  Modified files:
    test/test_expression.cpp

  Modified: test/test_expression.cpp (+27 -0)
===================================================================
--- test/test_expression.cpp    2014-09-12 17:22:38 +0900 (7fc7dcb)
+++ test/test_expression.cpp    2014-09-12 17:23:05 +0900 (ed29747)
@@ -3035,6 +3035,33 @@ void test_subexpression() {
     assert(text_results[i] == text_value);
   }
 
+  // Test an expression ((Ref.Ref).Int).
+  assert(builder->push_column(&error, "Ref"));
+  assert(builder->begin_subexpression(&error));
+  assert(builder->push_column(&error, "Ref"));
+  assert(builder->end_subexpression(&error));
+  assert(builder->begin_subexpression(&error));
+  assert(builder->push_column(&error, "Int"));
+  assert(builder->end_subexpression(&error));
+  expression = builder->release(&error);
+  assert(expression);
+
+  records.clear();
+  cursor = test.table->create_cursor(&error);
+  assert(cursor);
+  assert(cursor->read_all(&error, &records) == test.table->num_rows());
+
+  grnxx::Array<grnxx::Int> int_results;
+  assert(expression->evaluate(&error, records, &int_results));
+  assert(int_results.size() == test.table->num_rows());
+  for (grnxx::Int i = 0; i < int_results.size(); ++i) {
+    grnxx::Int row_id = records.get_row_id(i);
+    const auto ref_value = test.ref_values[row_id];
+    const auto ref_ref_value = test.ref_values[ref_value];
+    const auto int_value = test.int_values[ref_ref_value];
+    assert(int_results[i] == int_value);
+  }
+
   // Test an expression (RefVector.Int).
   assert(builder->push_column(&error, "RefVector"));
   assert(builder->begin_subexpression(&error));
-------------- next part --------------
HTML����������������������������...
Descargar 



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