/*
- * Copyright 2014 Facebook, Inc.
+ * Copyright 2017 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* limitations under the License.
*/
-#include <gtest/gtest.h>
-
#include <set>
#include <folly/EvictingCacheMap.h>
+#include <folly/portability/GTest.h>
using namespace folly;
EXPECT_EQ(-1, expected);
}
}
+
+TEST(EvictingCacheMap, MoveTest) {
+ const int nItems = 1000;
+ EvictingCacheMap<int, int> map(nItems);
+ for (int i = 0; i < nItems; i++) {
+ map.set(i, i);
+ EXPECT_TRUE(map.exists(i));
+ EXPECT_EQ(i, map.get(i));
+ }
+
+ EvictingCacheMap<int, int> map2 = std::move(map);
+ EXPECT_TRUE(map.empty());
+ for (int i = 0; i < nItems; i++) {
+ EXPECT_TRUE(map2.exists(i));
+ EXPECT_EQ(i, map2.get(i));
+ }
+}