diff options
Diffstat (limited to 'base/tuple_unittest.cc')
-rw-r--r-- | base/tuple_unittest.cc | 35 |
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 |