[Groonga-commit] groonga/grnxx at 4b41afc [master] Add a test for an invalid expression. (#78)

Back to archive index

susumu.yata null+****@clear*****
Thu Oct 2 11:42:15 JST 2014


susumu.yata	2014-10-02 11:42:15 +0900 (Thu, 02 Oct 2014)

  New Revision: 4b41afcc9d7d008f3c9cd324719d0daf80d30c94
  https://github.com/groonga/grnxx/commit/4b41afcc9d7d008f3c9cd324719d0daf80d30c94

  Message:
    Add a test for an invalid expression. (#78)

  Modified files:
    test/test_expression.cpp

  Modified: test/test_expression.cpp (+28 -0)
===================================================================
--- test/test_expression.cpp    2014-10-02 11:24:40 +0900 (d6ae63e)
+++ test/test_expression.cpp    2014-10-02 11:42:15 +0900 (1fcd287)
@@ -3011,6 +3011,31 @@ void test_partial_filter() {
   }
 }
 
+void test_error() {
+  grnxx::Error error;
+
+  // Create an object for building expressions.
+  auto builder = grnxx::ExpressionBuilder::create(&error, test.table);
+  assert(builder);
+
+  // Test an invalid expression (Int * Text).
+  assert(builder->push_column(&error, "Int"));
+  assert(builder->push_column(&error, "Text"));
+  assert(!builder->push_operator(&error, grnxx::MULTIPLICATION_OPERATOR));
+
+  // Additional operations must fail.
+  assert(!builder->push_constant(&error, grnxx::Text("ABC")));
+  assert(!builder->push_column(&error, "Float"));
+
+  // Clear the broken status.
+  builder->clear();
+
+  // Test a valid expression (Int + Int).
+  assert(builder->push_column(&error, "Int"));
+  assert(builder->push_column(&error, "Int"));
+  assert(builder->push_operator(&error, grnxx::PLUS_OPERATOR));
+}
+
 int main() {
   init_test();
 
@@ -3058,5 +3083,8 @@ int main() {
   // Test partial filtering.
   test_partial_filter();
 
+  // Test error.
+  test_error();
+
   return 0;
 }
-------------- next part --------------
HTML����������������������������...
Download 



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