[Groonga-commit] groonga/grnxx at 257ebf3 [master] Add N/A to tests for Merger. (#113)

Back to archive index

susumu.yata null+****@clear*****
Tue Dec 16 10:45:52 JST 2014


susumu.yata	2014-11-24 18:40:45 +0900 (Mon, 24 Nov 2014)

  New Revision: 257ebf3bca8b0e669a0adc7981bf5945ceac9c2e
  https://github.com/groonga/grnxx/commit/257ebf3bca8b0e669a0adc7981bf5945ceac9c2e

  Message:
    Add N/A to tests for Merger. (#113)

  Modified files:
    test/test_merger.cpp

  Modified: test/test_merger.cpp (+79 -33)
===================================================================
--- test/test_merger.cpp    2014-11-24 18:23:28 +0900 (7c53abf)
+++ test/test_merger.cpp    2014-11-24 18:40:45 +0900 (5400f95)
@@ -58,6 +58,8 @@ void init_test() {
   auto float2_column = test.table->create_column("Float2", data_type);
 
   // Generate random values.
+  // Bool: true, false, and N/A.
+  // Float: [0.0, 1.0) and N/A.
   constexpr size_t NUM_ROWS = 1 << 12;
   test.bool_values.resize(NUM_ROWS);
   test.bool2_values.resize(NUM_ROWS);
@@ -66,18 +68,37 @@ void init_test() {
   test.scores.resize(NUM_ROWS);
   test.scores2.resize(NUM_ROWS);
   for (size_t i = 0; i < NUM_ROWS; ++i) {
-    test.bool_values[i] = grnxx::Bool((mersenne_twister() & 1) != 0);
-    test.bool2_values[i] = grnxx::Bool((mersenne_twister() & 1) != 0);
-
+    uint64_t source = mersenne_twister() % 3;
+    test.bool_values[i] = (source == 0) ? grnxx::Bool::na() :
+        ((source == 1) ? grnxx::Bool(false) : grnxx::Bool(true));
+    source = mersenne_twister() % 3;
+    test.bool2_values[i] = (source == 0) ? grnxx::Bool::na() :
+        ((source == 1) ? grnxx::Bool(false) : grnxx::Bool(true));
+
+    source = mersenne_twister() % 129;
     test.float_values[i] =
-        grnxx::Float(1.0 * mersenne_twister() / mersenne_twister.max());
+        (source == 128) ? grnxx::Float::na() : grnxx::Float(source / 128.0);
+    source = mersenne_twister() % 129;
     test.float2_values[i] =
-        grnxx::Float(1.0 * mersenne_twister() / mersenne_twister.max());
+        (source == 128) ? grnxx::Float::na() : grnxx::Float(source / 128.0);
 
     test.scores[i] = test.bool_values[i].is_true() ?
                      test.float_values[i] : MISSING_SCORE;
     test.scores2[i] = test.bool2_values[i].is_true() ?
                       test.float2_values[i] : MISSING_SCORE;
+
+//    test.bool_values[i] = grnxx::Bool((mersenne_twister() & 1) != 0);
+//    test.bool2_values[i] = grnxx::Bool((mersenne_twister() & 1) != 0);
+
+//    test.float_values[i] =
+//        grnxx::Float(1.0 * mersenne_twister() / mersenne_twister.max());
+//    test.float2_values[i] =
+//        grnxx::Float(1.0 * mersenne_twister() / mersenne_twister.max());
+
+//    test.scores[i] = test.bool_values[i].is_true() ?
+//                     test.float_values[i] : MISSING_SCORE;
+//    test.scores2[i] = test.bool2_values[i].is_true() ?
+//                      test.float2_values[i] : MISSING_SCORE;
   }
 
   // Store generated values into columns.
@@ -164,12 +185,13 @@ void test_and() {
   auto output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] & test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() &
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id] + test.scores2[row_id]));
   }
   size_t count = 0;
   for (size_t i = 0; i < test.table->num_rows(); ++i) {
-    if ((test.bool_values[i] & test.bool2_values[i]).is_true()) {
+    if (test.bool_values[i].is_true() & test.bool2_values[i].is_true()) {
       assert(output[count].row_id.match(grnxx::Int(i)));
       ++count;
     }
@@ -181,7 +203,8 @@ void test_and() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] & test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() &
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id] - test.scores2[row_id]));
   }
 
@@ -190,7 +213,8 @@ void test_and() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] & test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() &
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id] * test.scores2[row_id]));
   }
 
@@ -199,7 +223,8 @@ void test_and() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] & test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() &
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id]));
   }
 
@@ -208,7 +233,8 @@ void test_and() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] & test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() &
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores2[row_id]));
   }
 
@@ -217,7 +243,8 @@ void test_and() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] & test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() &
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.value() == 0.0);
   }
 }
@@ -237,12 +264,14 @@ void test_or() {
   auto output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] | test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() |
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id] + test.scores2[row_id]));
   }
   size_t count = 0;
   for (size_t i = 0; i < test.table->num_rows(); ++i) {
-    if ((test.bool_values[i] | test.bool2_values[i]).is_true()) {
+    if (test.bool_values[i].is_true() |
+        test.bool2_values[i].is_true()) {
       ++count;
     }
   }
@@ -253,7 +282,8 @@ void test_or() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] | test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() |
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id] - test.scores2[row_id]));
   }
 
@@ -262,7 +292,8 @@ void test_or() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] | test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() |
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id] * test.scores2[row_id]));
   }
 
@@ -271,7 +302,8 @@ void test_or() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] | test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() |
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id]));
   }
 
@@ -280,7 +312,8 @@ void test_or() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] | test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() |
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores2[row_id]));
   }
 
@@ -289,7 +322,8 @@ void test_or() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] | test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() |
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.value() == 0.0);
   }
 }
@@ -309,12 +343,13 @@ void test_xor() {
   auto output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] ^ test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() ^
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id] + test.scores2[row_id]));
   }
   size_t count = 0;
   for (size_t i = 0; i < test.table->num_rows(); ++i) {
-    if ((test.bool_values[i] ^ test.bool2_values[i]).is_true()) {
+    if (test.bool_values[i].is_true() ^ test.bool2_values[i].is_true()) {
       ++count;
     }
   }
@@ -325,7 +360,8 @@ void test_xor() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] ^ test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() ^
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id] - test.scores2[row_id]));
   }
 
@@ -334,7 +370,8 @@ void test_xor() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] ^ test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() ^
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id] * test.scores2[row_id]));
   }
 
@@ -343,7 +380,8 @@ void test_xor() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] ^ test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() ^
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id]));
   }
 
@@ -352,7 +390,8 @@ void test_xor() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] ^ test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() ^
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores2[row_id]));
   }
 
@@ -361,7 +400,8 @@ void test_xor() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] ^ test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() ^
+           test.bool2_values[row_id].is_true());
     assert(output[i].score.value() == 0.0);
   }
 }
@@ -381,12 +421,13 @@ void test_minus() {
   auto output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] & !test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() &
+           !test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id] + test.scores2[row_id]));
   }
   size_t count = 0;
   for (size_t i = 0; i < test.table->num_rows(); ++i) {
-    if ((test.bool_values[i] & !test.bool2_values[i]).is_true()) {
+    if (test.bool_values[i].is_true() & !test.bool2_values[i].is_true()) {
       ++count;
     }
   }
@@ -397,7 +438,8 @@ void test_minus() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] & !test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() &
+           !test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id] - test.scores2[row_id]));
   }
 
@@ -406,7 +448,8 @@ void test_minus() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] & !test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() &
+           !test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id] * test.scores2[row_id]));
   }
 
@@ -415,7 +458,8 @@ void test_minus() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] & !test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() &
+           !test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores[row_id]));
   }
 
@@ -424,7 +468,8 @@ void test_minus() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] & !test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() &
+           !test.bool2_values[row_id].is_true());
     assert(output[i].score.match(test.scores2[row_id]));
   }
 
@@ -433,7 +478,8 @@ void test_minus() {
   output = merge_records(input_1, input_2, options);
   for (size_t i = 0; i < output.size(); ++i) {
     size_t row_id = output[i].row_id.value();
-    assert((test.bool_values[row_id] & !test.bool2_values[row_id]).is_true());
+    assert(test.bool_values[row_id].is_true() &
+           !test.bool2_values[row_id].is_true());
     assert(output[i].score.value() == 0.0);
   }
 }
-------------- next part --------------
HTML����������������������������...
Download 



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