OLD | NEW |
| (Empty) |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "cc/base/hash_pair.h" | |
6 | |
7 #include "base/basictypes.h" | |
8 #include "testing/gtest/include/gtest/gtest.h" | |
9 | |
10 namespace { | |
11 | |
12 class HashPairTest : public testing::Test { | |
13 }; | |
14 | |
15 #define INSERT_PAIR_TEST(Type, value1, value2) \ | |
16 { \ | |
17 Type pair(value1, value2); \ | |
18 base::hash_map<Type, int> map; \ | |
19 map[pair] = 1; \ | |
20 } | |
21 | |
22 // Verify that a hash_map can be constructed for pairs of integers of various | |
23 // sizes. | |
24 TEST_F(HashPairTest, IntegerPairs) { | |
25 typedef std::pair<int16, int16> Int16Int16Pair; | |
26 typedef std::pair<int16, int32> Int16Int32Pair; | |
27 typedef std::pair<int16, int64> Int16Int64Pair; | |
28 | |
29 INSERT_PAIR_TEST(Int16Int16Pair, 4, 6); | |
30 INSERT_PAIR_TEST(Int16Int32Pair, 9, (1 << 29) + 378128932); | |
31 INSERT_PAIR_TEST(Int16Int64Pair, 10, | |
32 (GG_INT64_C(1) << 60) + GG_INT64_C(78931732321)); | |
33 | |
34 typedef std::pair<int32, int16> Int32Int16Pair; | |
35 typedef std::pair<int32, int32> Int32Int32Pair; | |
36 typedef std::pair<int32, int64> Int32Int64Pair; | |
37 | |
38 INSERT_PAIR_TEST(Int32Int16Pair, 4, 6); | |
39 INSERT_PAIR_TEST(Int32Int32Pair, 9, (1 << 29) + 378128932); | |
40 INSERT_PAIR_TEST(Int32Int64Pair, 10, | |
41 (GG_INT64_C(1) << 60) + GG_INT64_C(78931732321)); | |
42 | |
43 typedef std::pair<int64, int16> Int64Int16Pair; | |
44 typedef std::pair<int64, int32> Int64Int32Pair; | |
45 typedef std::pair<int64, int64> Int64Int64Pair; | |
46 | |
47 INSERT_PAIR_TEST(Int64Int16Pair, 4, 6); | |
48 INSERT_PAIR_TEST(Int64Int32Pair, 9, (1 << 29) + 378128932); | |
49 INSERT_PAIR_TEST(Int64Int64Pair, 10, | |
50 (GG_INT64_C(1) << 60) + GG_INT64_C(78931732321)); | |
51 } | |
52 | |
53 } // namespace | |
OLD | NEW |