Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1456)

Unified Diff: cc/hash_pair_unittest.cc

Issue 10911330: Add methods for hashing pairs of integer values. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/hash_pair.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/hash_pair_unittest.cc
diff --git a/cc/hash_pair_unittest.cc b/cc/hash_pair_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..eab193072a55b16ee50790e84e86818ed2cb9ef7
--- /dev/null
+++ b/cc/hash_pair_unittest.cc
@@ -0,0 +1,60 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "cc/hash_pair.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+class HashPairTest : public testing::Test {
+};
+
+#define INSERT_PAIR_TEST(Type, value1, value2) \
+ { \
+ Type pair(value1, value2); \
+ base::hash_map<Type, int> map; \
+ map[pair] = 1; \
+ }
+
+// Verify that a hash_map can be constructed for pairs of integers of various
+// sizes.
+TEST_F(HashPairTest, IntegerPairs) {
+ typedef std::pair<short, short> ShortShortPair;
+ typedef std::pair<short, int> ShortIntPair;
+ typedef std::pair<short, int32> ShortInt32Pair;
+ typedef std::pair<short, int64> ShortInt64Pair;
+
+ INSERT_PAIR_TEST(ShortShortPair, 4, 6);
+ INSERT_PAIR_TEST(ShortIntPair, 7, (1 << 30) + 4342);
+ INSERT_PAIR_TEST(ShortInt32Pair, 9, (1 << 29) + 378128932);
+ INSERT_PAIR_TEST(ShortInt64Pair, 10, (1LL << 60) + 78931732321);
+
+ typedef std::pair<int, short> IntShortPair;
+ typedef std::pair<int, int> IntIntPair;
+ typedef std::pair<int, int32> IntInt32Pair;
+ typedef std::pair<int, int64> IntInt64Pair;
+
+ INSERT_PAIR_TEST(IntShortPair, 4, 6);
+ INSERT_PAIR_TEST(IntIntPair, 7, (1 << 30) + 4342);
+ INSERT_PAIR_TEST(IntInt32Pair, 9, (1 << 29) + 378128932);
+ INSERT_PAIR_TEST(IntInt64Pair, 10, (1LL << 60) + 78931732321);
+
+ typedef std::pair<int32, short> Int32ShortPair;
+ typedef std::pair<int32, int> Int32IntPair;
+ typedef std::pair<int32, int32> Int32Int32Pair;
+ typedef std::pair<int32, int64> Int32Int64Pair;
+
+ INSERT_PAIR_TEST(Int32ShortPair, 4, 6);
+ INSERT_PAIR_TEST(Int32IntPair, 7, (1 << 30) + 4342);
+ INSERT_PAIR_TEST(Int32Int32Pair, 9, (1 << 29) + 378128932);
+ INSERT_PAIR_TEST(Int32Int64Pair, 10, (1LL << 60) + 78931732321);
+
+ typedef std::pair<int64, short> Int64ShortPair;
+ typedef std::pair<int64, int> Int64IntPair;
+ typedef std::pair<int64, int32> Int64Int32Pair;
+ typedef std::pair<int64, int64> Int64Int64Pair;
+
+ INSERT_PAIR_TEST(Int64ShortPair, 4, 6);
+ INSERT_PAIR_TEST(Int64IntPair, 7, (1 << 30) + 4342);
+ INSERT_PAIR_TEST(Int64Int32Pair, 9, (1 << 29) + 378128932);
+ INSERT_PAIR_TEST(Int64Int64Pair, 10, (1LL << 60) + 78931732321);
+}
« no previous file with comments | « cc/hash_pair.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698