summaryrefslogtreecommitdiff
path: root/base/tuple_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'base/tuple_unittest.cc')
-rw-r--r--base/tuple_unittest.cc35
1 files changed, 5 insertions, 30 deletions
diff --git a/base/tuple_unittest.cc b/base/tuple_unittest.cc
index 6f90c29220..4b38797e0e 100644
--- a/base/tuple_unittest.cc
+++ b/base/tuple_unittest.cc
@@ -16,14 +16,14 @@ void DoAdd(int a, int b, int c, int* res) {
}
struct Addy {
- Addy() { }
+ Addy() = default;
void DoAdd(int a, int b, int c, int d, int* res) {
*res = a + b + c + d;
}
};
struct Addz {
- Addz() { }
+ Addz() = default;
void DoAdd(int a, int b, int c, int d, int e, int* res) {
*res = a + b + c + d + e;
}
@@ -39,6 +39,7 @@ TEST(TupleTest, Basic) {
std::make_tuple(1, static_cast<const char*>("wee"));
ALLOW_UNUSED_LOCAL(t2);
std::tuple<int, int, int> t3(1, 2, 3);
+ ALLOW_UNUSED_LOCAL(t3);
std::tuple<int, int, int, int*> t4(1, 2, 3, &std::get<0>(t1));
std::tuple<int, int, int, int, int*> t5(1, 2, 3, 4, &std::get<0>(t4));
std::tuple<int, int, int, int, int, int*> t6(1, 2, 3, 4, 5, &std::get<0>(t4));
@@ -67,7 +68,7 @@ namespace {
struct CopyLogger {
CopyLogger() { ++TimesConstructed; }
CopyLogger(const CopyLogger& tocopy) { ++TimesConstructed; ++TimesCopied; }
- ~CopyLogger() { }
+ ~CopyLogger() = default;
static int TimesCopied;
static int TimesConstructed;
@@ -95,7 +96,7 @@ TEST(TupleTest, Copying) {
// Creating the tuple should copy the class to store internally in the tuple.
std::tuple<CopyLogger, CopyLogger*, bool*> tuple(logger, &logger, &res);
- std::get<1>(tuple) = &std::get<0>(tuple);
+ std::get<CopyLogger*>(tuple) = &std::get<CopyLogger>(tuple);
EXPECT_EQ(2, CopyLogger::TimesConstructed);
EXPECT_EQ(1, CopyLogger::TimesCopied);
@@ -114,30 +115,4 @@ TEST(TupleTest, Copying) {
EXPECT_EQ(2, CopyLogger::TimesCopied);
}
-TEST(TupleTest, Get) {
- int i = 1;
- int j = 2;
- std::tuple<int, int&, int&&> t(3, i, std::move(j));
- EXPECT_TRUE((std::is_same<int&, decltype(base::get<0>(t))>::value));
- EXPECT_EQ(3, base::get<0>(t));
-
- EXPECT_TRUE((std::is_same<int&, decltype(base::get<1>(t))>::value));
- EXPECT_EQ(1, base::get<1>(t));
-
- EXPECT_TRUE((std::is_same<int&, decltype(base::get<2>(t))>::value));
- EXPECT_EQ(2, base::get<2>(t));
-
- EXPECT_TRUE((std::is_same<int&&,
- decltype(base::get<0>(std::move(t)))>::value));
- EXPECT_EQ(3, base::get<0>(std::move(t)));
-
- EXPECT_TRUE((std::is_same<int&,
- decltype(base::get<1>(std::move(t)))>::value));
- EXPECT_EQ(1, base::get<1>(std::move(t)));
-
- EXPECT_TRUE((std::is_same<int&&,
- decltype(base::get<2>(std::move(t)))>::value));
- EXPECT_EQ(2, base::get<2>(std::move(t)));
-}
-
} // namespace base