| Index: base/hash_tables_unittest.cc
|
| diff --git a/base/hash_tables_unittest.cc b/base/hash_tables_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..27a35d93575f0d2ef702764dacfc995ff0f6db6d
|
| --- /dev/null
|
| +++ b/base/hash_tables_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 "base/hash_tables.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +
|
| +class HashTablesTest : public testing::Test {
|
| +};
|
| +
|
| +#define INSERT_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(HashTablesTest, 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_TEST(ShortShortPair, 4, 6);
|
| + INSERT_TEST(ShortIntPair, 7, (1 << 30) + 4342);
|
| + INSERT_TEST(ShortInt32Pair, 9, (1 << 29) + 378128932);
|
| + INSERT_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_TEST(IntShortPair, 4, 6);
|
| + INSERT_TEST(IntIntPair, 7, (1 << 30) + 4342);
|
| + INSERT_TEST(IntInt32Pair, 9, (1 << 29) + 378128932);
|
| + INSERT_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_TEST(Int32ShortPair, 4, 6);
|
| + INSERT_TEST(Int32IntPair, 7, (1 << 30) + 4342);
|
| + INSERT_TEST(Int32Int32Pair, 9, (1 << 29) + 378128932);
|
| + INSERT_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_TEST(Int64ShortPair, 4, 6);
|
| + INSERT_TEST(Int64IntPair, 7, (1 << 30) + 4342);
|
| + INSERT_TEST(Int64Int32Pair, 9, (1 << 29) + 378128932);
|
| + INSERT_TEST(Int64Int64Pair, 10, (1LL << 60) + 78931732321);
|
| +}
|
|
|