#include "gtest/gtest.h" // #include "leveldb/env.h" // #include "leveldb/db.h" #include "fielddb/field_db.h" #include "test/helper.cc" using namespace fielddb; TEST(TestLab1, Basic) { fielddb::DestroyDB("testdb1.1",Options()); //每个测试前,先把对应名称的之前的数据库删了 FieldDB *db = new FieldDB(); if(OpenDB("testdb1.1", &db).ok() == false) { std::cerr << "open db failed" << std::endl; abort(); } // ClearDB(db); InsertFieldData(db); bool allowNotFound = false; GetFieldData(db, allowNotFound); findKeysByCity(db); delete db; } TEST(TestLab2, Basic) { fielddb::DestroyDB("testdb1.2",Options()); FieldDB *db = new FieldDB(); if(OpenDB("testdb1.2", &db).ok() == false) { std::cerr << "open db failed" << std::endl; abort(); } // ClearDB(db); shanghaiKeys.clear(); age20Keys.clear(); InsertFieldData(db); // GetFieldData(db); // findKeysByCity(db); db->CreateIndexOnField("address"); db->CreateIndexOnField("age"); findKeysByCityIndex(db, true); findKeysByAgeIndex(db, true); db->DeleteIndex("address"); findKeysByCityIndex(db, false); findKeysByAgeIndex(db, true); delete db; } int main(int argc, char** argv) { // All tests currently run with the same read-only file limits. testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }