-int main(int argc, char** argv) {
- testing::InitGoogleTest(&argc, argv);
- google::ParseCommandLineFlags(&argc, &argv, true);
- return RUN_ALL_TESTS();
+TEST(FBVector, vector_of_maps) {
+ fbvector<std::map<std::string, std::string>> v;
+
+ v.push_back(std::map<std::string, std::string>());
+ v.push_back(std::map<std::string, std::string>());
+
+ EXPECT_EQ(2, v.size());
+
+ v[1]["hello"] = "world";
+ EXPECT_EQ(0, v[0].size());
+ EXPECT_EQ(1, v[1].size());
+
+ v[0]["foo"] = "bar";
+ EXPECT_EQ(1, v[0].size());
+ EXPECT_EQ(1, v[1].size());
+}
+
+TEST(FBVector, shrink_to_fit_after_clear) {
+ fbvector<int> fb1;
+ fb1.push_back(42);
+ fb1.push_back(1337);
+ fb1.clear();
+ fb1.shrink_to_fit();
+ EXPECT_EQ(fb1.size(), 0);
+ EXPECT_EQ(fb1.capacity(), 0);
+}
+
+TEST(FBVector, zero_len) {
+ fbvector<int> fb1(0);
+ fbvector<int> fb2(0, 10);
+ fbvector<int> fb3(std::move(fb1));
+ fbvector<int> fb4;
+ fb4 = std::move(fb2);
+ fbvector<int> fb5 = fb3;
+ fbvector<int> fb6;
+ fb6 = fb4;
+ std::initializer_list<int> il = {};
+ fb6 = il;
+ fbvector<int> fb7(fb6.begin(), fb6.end());