8 #include "flutter/fml/macros.h"
9 #include "flutter/testing/testing.h"
24 explicit Sample(uint64_t count = 42) : some_data_(count) {}
35 return item.
Write(
"some_data", some_data_);
41 return item.
Read(
"some_data", some_data_);
57 .members = {
"some_data"},
69 std::vector<Sample> samples;
70 for (
size_t i = 0; i < 50u; i++) {
71 samples.emplace_back(
Sample{1988 + i});
73 return item.
Write(
"hello",
"world") && item.
Write(
"samples", samples);
79 auto str_result = item.
Read(
"hello", str);
80 std::vector<Sample> samples;
81 auto vec_result = item.
Read(
"samples", samples);
83 if (!str_result || str !=
"world" || !vec_result || samples.size() != 50) {
87 size_t current = 1988;
88 for (
const auto& sample : samples) {
89 if (sample.GetSomeData() != current++) {
99 std::vector<Sample> samples_;
107 .members = {
"hello",
"samples"},
113 Archive archive(GetArchiveFileName().c_str());
114 ASSERT_TRUE(archive.
IsValid());
118 Archive archive(GetArchiveFileName().c_str());
119 ASSERT_TRUE(archive.
IsValid());
123 Archive archive(GetArchiveFileName().c_str());
124 ASSERT_TRUE(archive.
IsValid());
126 ASSERT_TRUE(archive.
Write(sample));
130 Archive archive(GetArchiveFileName().c_str());
131 ASSERT_TRUE(archive.
IsValid());
133 for (
size_t i = 0; i < 100; i++) {
135 ASSERT_TRUE(archive.
Write(sample));
140 Archive archive(GetArchiveFileName().c_str());
141 ASSERT_TRUE(archive.
IsValid());
145 std::vector<PrimaryKey::value_type> keys;
146 std::vector<uint64_t> values;
148 for (
size_t i = 0; i < count; i++) {
152 ASSERT_TRUE(archive.
Write(sample));
155 for (
size_t i = 0; i < count; i++) {
157 ASSERT_TRUE(archive.
Read(keys[i], sample));
163 Archive archive(GetArchiveFileName().c_str());
164 ASSERT_TRUE(archive.
IsValid());
168 std::vector<PrimaryKey::value_type> keys;
169 std::vector<uint64_t> values;
172 values.reserve(count);
174 for (
size_t i = 0; i < count; i++) {
178 ASSERT_TRUE(archive.
Write(sample));
181 for (
size_t i = 0; i < count; i++) {
183 ASSERT_TRUE(archive.
Read(keys[i], sample));
190 Archive archive(GetArchiveFileName().c_str());
191 ASSERT_TRUE(archive.
IsValid());
194 ASSERT_TRUE(archive.
Write(sample_with_vector));
195 bool read_success =
false;
198 SampleWithVector other_sample_with_vector;
199 read_success = other_sample_with_vector.Read(location);
203 ASSERT_TRUE(read_success);