#include "src/tint/lang/core/type/builtin_structs.h"
#include "gmock/gmock.h"
#include "src/tint/lang/core/type/abstract_float.h"
#include "src/tint/lang/core/type/abstract_int.h"
#include "src/tint/lang/core/type/bool.h"
#include "src/tint/lang/core/type/f16.h"
#include "src/tint/lang/core/type/f32.h"
#include "src/tint/lang/core/type/i32.h"
#include "src/tint/lang/core/type/manager.h"
#include "src/tint/lang/core/type/u32.h"
#include "src/tint/lang/core/type/vector.h"
#include "src/tint/utils/id/generation_id.h"
#include "src/tint/utils/symbol/symbol_table.h"
usingnamespacetint::core::number_suffixes;
namespace tint::core::type {
namespace {
enum ElementType { … };
template <typename T>
class BuiltinStructsTest : public testing::TestWithParam<T> { … };
struct FrexpCase { … };
class BuiltinFrexpResultStructTest : public BuiltinStructsTest<FrexpCase> { … };
TEST_P(BuiltinFrexpResultStructTest, Scalar) { … }
TEST_P(BuiltinFrexpResultStructTest, Vec2) { … }
TEST_P(BuiltinFrexpResultStructTest, Vec3) { … }
TEST_P(BuiltinFrexpResultStructTest, Vec4) { … }
INSTANTIATE_TEST_SUITE_P(…);
class BuiltinModfResultStructTest : public BuiltinStructsTest<ElementType> { … };
TEST_P(BuiltinModfResultStructTest, Scalar) { … }
TEST_P(BuiltinModfResultStructTest, Vec2) { … }
TEST_P(BuiltinModfResultStructTest, Vec3) { … }
TEST_P(BuiltinModfResultStructTest, Vec4) { … }
INSTANTIATE_TEST_SUITE_P(…);
class BuiltinAtomicCompareExchangeResultStructTest : public BuiltinStructsTest<ElementType> { … };
TEST_P(BuiltinAtomicCompareExchangeResultStructTest, Scalar) { … }
INSTANTIATE_TEST_SUITE_P(…);
}
}