susumu.yata
null+****@clear*****
Thu Dec 25 16:28:51 JST 2014
susumu.yata 2014-12-25 16:28:51 +0900 (Thu, 25 Dec 2014) New Revision: d21e8575b0fbc4b319a3c024febdfe4e5c543359 https://github.com/groonga/grnxx/commit/d21e8575b0fbc4b319a3c024febdfe4e5c543359 Message: Add a test for Column::contains(). (#135) Modified files: test/test_column.cpp Modified: test/test_column.cpp (+52 -0) =================================================================== --- test/test_column.cpp 2014-12-25 16:22:49 +0900 (bc00bd6) +++ test/test_column.cpp 2014-12-25 16:28:51 +0900 (779b425) @@ -277,6 +277,57 @@ void test_internal_type_conversion() { assert(datum.as_int().raw() == (int64_t(1) << 32)); } +void test_contains() { + // Create a table and insert rows. + auto db = grnxx::open_db(""); + auto table = db->create_table("Table"); + table->insert_row(); + table->insert_row(); + table->insert_row(); + + auto column = table->create_column("Int", grnxx::INT_DATA); + assert(!column->contains(grnxx::Int(123))); + assert(!column->contains(grnxx::Int(456))); + assert(!column->contains(grnxx::Int(789))); + assert(column->contains(grnxx::Int::na())); + column->set(grnxx::Int(0), grnxx::Int(123)); + assert(column->contains(grnxx::Int(123))); + assert(!column->contains(grnxx::Int(456))); + assert(!column->contains(grnxx::Int(789))); + assert(column->contains(grnxx::Int::na())); + column->set(grnxx::Int(1), grnxx::Int(456)); + assert(column->contains(grnxx::Int(123))); + assert(column->contains(grnxx::Int(456))); + assert(!column->contains(grnxx::Int(789))); + assert(column->contains(grnxx::Int::na())); + column->set(grnxx::Int(2), grnxx::Int(789)); + assert(column->contains(grnxx::Int(123))); + assert(column->contains(grnxx::Int(456))); + assert(column->contains(grnxx::Int(789))); + assert(!column->contains(grnxx::Int::na())); + + column->create_index("Index", grnxx::TREE_INDEX); + assert(column->contains(grnxx::Int(123))); + assert(column->contains(grnxx::Int(456))); + assert(column->contains(grnxx::Int(789))); + assert(!column->contains(grnxx::Int::na())); + column->set(grnxx::Int(2), grnxx::Int::na()); + assert(column->contains(grnxx::Int(123))); + assert(column->contains(grnxx::Int(456))); + assert(!column->contains(grnxx::Int(789))); + assert(column->contains(grnxx::Int::na())); + column->set(grnxx::Int(1), grnxx::Int::na()); + assert(column->contains(grnxx::Int(123))); + assert(!column->contains(grnxx::Int(456))); + assert(!column->contains(grnxx::Int(789))); + assert(column->contains(grnxx::Int::na())); + column->set(grnxx::Int(0), grnxx::Int::na()); + assert(!column->contains(grnxx::Int(123))); + assert(!column->contains(grnxx::Int(456))); + assert(!column->contains(grnxx::Int(789))); + assert(column->contains(grnxx::Int::na())); +} + int main() { test_basic_operations(); @@ -287,6 +338,7 @@ int main() { test_random_values<grnxx::Text>(); test_internal_type_conversion(); + test_contains(); return 0; } -------------- next part -------------- HTML����������������������������...Download