|
|
@ -175,9 +175,13 @@ TEST(TestSchema, Basic) { |
|
|
|
std::cerr << "open db failed" << std::endl; |
|
|
|
abort(); |
|
|
|
} |
|
|
|
std::string key = "key"; |
|
|
|
std::string key0 = "k_0"; |
|
|
|
std::string key1 = "k_1"; |
|
|
|
std::string key2 = "k_2"; |
|
|
|
std::string key3 = "k_3"; |
|
|
|
std::string value = "value"; |
|
|
|
FieldArray fields0 = {{"name", "wxf"}}; |
|
|
|
FieldArray fields1 = { |
|
|
|
{"name", "Customer1"}, |
|
|
|
{"address", "IVhzIApeRb"}, |
|
|
@ -194,21 +198,33 @@ TEST(TestSchema, Basic) { |
|
|
|
{"address", "ecnu"}, |
|
|
|
{"phone", "11111"} |
|
|
|
}; |
|
|
|
db->Put(writeOptions, key, value); |
|
|
|
std::cout << "put_value: " << value << std::endl; |
|
|
|
db->Put_Fields(leveldb::WriteOptions(), key0, fields0); |
|
|
|
db->Put_Fields(leveldb::WriteOptions(), key1, fields1); |
|
|
|
db->Put_Fields(leveldb::WriteOptions(), key2, fields2); |
|
|
|
db->Put_Fields(leveldb::WriteOptions(), key3, fields3); |
|
|
|
|
|
|
|
// 读取并反序列化
|
|
|
|
std::string value_ret; |
|
|
|
FieldArray fields_ret; |
|
|
|
db->Get_Fields(leveldb::ReadOptions(), key1, &fields_ret); |
|
|
|
db->Get(readOptions, key, &value_ret); |
|
|
|
std::cout << "get_value: " << value_ret << std::endl; |
|
|
|
// 读取并反序列化
|
|
|
|
FieldArray fields_ret_0; |
|
|
|
FieldArray fields_ret_1; |
|
|
|
db->Get_Fields(leveldb::ReadOptions(), key0, &fields_ret_0); |
|
|
|
db->Get_Fields(leveldb::ReadOptions(), key1, &fields_ret_1); |
|
|
|
|
|
|
|
|
|
|
|
// 检查反序列化结果
|
|
|
|
ASSERT_EQ(fields_ret.size(), fields1.size()); |
|
|
|
for (size_t i = 0; i < fields_ret.size(); ++i) { |
|
|
|
ASSERT_EQ(fields_ret[i].name, fields1[i].name); |
|
|
|
ASSERT_EQ(fields_ret[i].value, fields1[i].value); |
|
|
|
ASSERT_EQ(fields_ret_0.size(), fields0.size()); |
|
|
|
for (size_t i = 0; i < fields_ret_0.size(); ++i) { |
|
|
|
ASSERT_EQ(fields_ret_0[i].name, fields1[i].name); |
|
|
|
ASSERT_EQ(fields_ret_0[i].value, fields1[i].value); |
|
|
|
} |
|
|
|
|
|
|
|
ASSERT_EQ(fields_ret_1.size(), fields1.size()); |
|
|
|
for (size_t i = 0; i < fields_ret_1.size(); ++i) { |
|
|
|
ASSERT_EQ(fields_ret_1[i].name, fields1[i].name); |
|
|
|
ASSERT_EQ(fields_ret_1[i].value, fields1[i].value); |
|
|
|
} |
|
|
|
|
|
|
|
// 测试查找功能
|
|
|
|