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_);
50 FML_DISALLOW_COPY_AND_ASSIGN(
Sample);
55 .members = {
"some_data"},
67 std::vector<Sample> samples;
68 for (
size_t i = 0; i < 50u; i++) {
69 samples.emplace_back(
Sample{1988 + i});
71 return item.
Write(
"hello",
"world") && item.
Write(
"samples", samples);
77 auto str_result = item.
Read(
"hello", str);
78 std::vector<Sample> samples;
79 auto vec_result = item.
Read(
"samples", samples);
81 if (!str_result || str !=
"world" || !vec_result || samples.size() != 50) {
85 size_t current = 1988;
86 for (
const auto& sample : samples) {
87 if (sample.GetSomeData() != current++) {
97 std::vector<Sample> samples_;
103 .members = {
"hello",
"samples"},
109 Archive archive(GetArchiveFileName().c_str());
110 ASSERT_TRUE(archive.
IsValid());
114 Archive archive(GetArchiveFileName().c_str());
115 ASSERT_TRUE(archive.
IsValid());
119 Archive archive(GetArchiveFileName().c_str());
120 ASSERT_TRUE(archive.
IsValid());
122 ASSERT_TRUE(archive.
Write(sample));
126 Archive archive(GetArchiveFileName().c_str());
127 ASSERT_TRUE(archive.
IsValid());
129 for (
size_t i = 0; i < 100; i++) {
131 ASSERT_TRUE(archive.
Write(sample));
136 Archive archive(GetArchiveFileName().c_str());
137 ASSERT_TRUE(archive.
IsValid());
141 std::vector<PrimaryKey::value_type> keys;
142 std::vector<uint64_t> values;
144 for (
size_t i = 0; i < count; i++) {
148 ASSERT_TRUE(archive.
Write(sample));
151 for (
size_t i = 0; i < count; i++) {
153 ASSERT_TRUE(archive.
Read(keys[i], sample));
159 Archive archive(GetArchiveFileName().c_str());
160 ASSERT_TRUE(archive.
IsValid());
164 std::vector<PrimaryKey::value_type> keys;
165 std::vector<uint64_t> values;
168 values.reserve(count);
170 for (
size_t i = 0; i < count; i++) {
174 ASSERT_TRUE(archive.
Write(sample));
177 for (
size_t i = 0; i < count; i++) {
179 ASSERT_TRUE(archive.
Read(keys[i], sample));
186 Archive archive(GetArchiveFileName().c_str());
187 ASSERT_TRUE(archive.
IsValid());
190 ASSERT_TRUE(archive.
Write(sample_with_vector));
191 bool read_success =
false;
194 SampleWithVector other_sample_with_vector;
195 read_success = other_sample_with_vector.Read(location);
199 ASSERT_TRUE(read_success);