diff options
Diffstat (limited to 'third_party/abseil_cpp/absl/base/internal/fast_type_id_test.cc')
-rw-r--r-- | third_party/abseil_cpp/absl/base/internal/fast_type_id_test.cc | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/third_party/abseil_cpp/absl/base/internal/fast_type_id_test.cc b/third_party/abseil_cpp/absl/base/internal/fast_type_id_test.cc deleted file mode 100644 index 16f3c1458bdf..000000000000 --- a/third_party/abseil_cpp/absl/base/internal/fast_type_id_test.cc +++ /dev/null @@ -1,123 +0,0 @@ -// Copyright 2020 The Abseil Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "absl/base/internal/fast_type_id.h" - -#include <cstdint> -#include <map> -#include <vector> - -#include "gtest/gtest.h" - -namespace { -namespace bi = absl::base_internal; - -// NOLINTNEXTLINE -#define PRIM_TYPES(A) \ - A(bool) \ - A(short) \ - A(unsigned short) \ - A(int) \ - A(unsigned int) \ - A(long) \ - A(unsigned long) \ - A(long long) \ - A(unsigned long long) \ - A(float) \ - A(double) \ - A(long double) - -TEST(FastTypeIdTest, PrimitiveTypes) { - bi::FastTypeIdType type_ids[] = { -#define A(T) bi::FastTypeId<T>(), - PRIM_TYPES(A) -#undef A -#define A(T) bi::FastTypeId<const T>(), - PRIM_TYPES(A) -#undef A -#define A(T) bi::FastTypeId<volatile T>(), - PRIM_TYPES(A) -#undef A -#define A(T) bi::FastTypeId<const volatile T>(), - PRIM_TYPES(A) -#undef A - }; - size_t total_type_ids = sizeof(type_ids) / sizeof(bi::FastTypeIdType); - - for (int i = 0; i < total_type_ids; ++i) { - EXPECT_EQ(type_ids[i], type_ids[i]); - for (int j = 0; j < i; ++j) { - EXPECT_NE(type_ids[i], type_ids[j]); - } - } -} - -#define FIXED_WIDTH_TYPES(A) \ - A(int8_t) \ - A(uint8_t) \ - A(int16_t) \ - A(uint16_t) \ - A(int32_t) \ - A(uint32_t) \ - A(int64_t) \ - A(uint64_t) - -TEST(FastTypeIdTest, FixedWidthTypes) { - bi::FastTypeIdType type_ids[] = { -#define A(T) bi::FastTypeId<T>(), - FIXED_WIDTH_TYPES(A) -#undef A -#define A(T) bi::FastTypeId<const T>(), - FIXED_WIDTH_TYPES(A) -#undef A -#define A(T) bi::FastTypeId<volatile T>(), - FIXED_WIDTH_TYPES(A) -#undef A -#define A(T) bi::FastTypeId<const volatile T>(), - FIXED_WIDTH_TYPES(A) -#undef A - }; - size_t total_type_ids = sizeof(type_ids) / sizeof(bi::FastTypeIdType); - - for (int i = 0; i < total_type_ids; ++i) { - EXPECT_EQ(type_ids[i], type_ids[i]); - for (int j = 0; j < i; ++j) { - EXPECT_NE(type_ids[i], type_ids[j]); - } - } -} - -TEST(FastTypeIdTest, AliasTypes) { - using int_alias = int; - EXPECT_EQ(bi::FastTypeId<int_alias>(), bi::FastTypeId<int>()); -} - -TEST(FastTypeIdTest, TemplateSpecializations) { - EXPECT_NE(bi::FastTypeId<std::vector<int>>(), - bi::FastTypeId<std::vector<long>>()); - - EXPECT_NE((bi::FastTypeId<std::map<int, float>>()), - (bi::FastTypeId<std::map<int, double>>())); -} - -struct Base {}; -struct Derived : Base {}; -struct PDerived : private Base {}; - -TEST(FastTypeIdTest, Inheritance) { - EXPECT_NE(bi::FastTypeId<Base>(), bi::FastTypeId<Derived>()); - EXPECT_NE(bi::FastTypeId<Base>(), bi::FastTypeId<PDerived>()); -} - -} // namespace |