#include <limits>
#include "base/types/id_type.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace base {
namespace {
class Foo;
FooId;
MultipleInvalidId;
}
TEST(IdType, DefaultValueIsInvalid) { … }
TEST(IdType, NormalValueIsValid) { … }
TEST(IdType, ExtraInvalidValue) { … }
TEST(IdType, Generator) { … }
TEST(IdType, GeneratorWithNonZeroInvalidValue) { … }
TEST(IdType, GeneratorWithBigUnsignedInvalidValue) { … }
TEST(IdType, GeneratorWithDifferentStartingValue) { … }
TEST(IdType, EnsureConstexpr) { … }
class IdTypeSpecificValueTest : public ::testing::TestWithParam<int> { … };
TEST_P(IdTypeSpecificValueTest, UnsafeValueRoundtrips) { … }
INSTANTIATE_TEST_SUITE_P(…);
}