// Copyright 2022 The Tint 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
//
//     http://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.

////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
//   src/tint/lang/core/builtin_test.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
//                       Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////

#include "src/tint/lang/core/builtin.h"

#include <string>

#include "gtest/gtest.h"

#include "src/tint/utils/text/string.h"

namespace tint::core {
namespace {

namespace parse_print_tests {

struct Case {
    const char* string;
    Builtin value;
};

inline std::ostream& operator<<(std::ostream& out, Case c) {
    return out << "'" << std::string(c.string) << "'";
}

static constexpr Case kValidCases[] = {
    {"__atomic_compare_exchange_result_i32", Builtin::kAtomicCompareExchangeResultI32},
    {"__atomic_compare_exchange_result_u32", Builtin::kAtomicCompareExchangeResultU32},
    {"__frexp_result_abstract", Builtin::kFrexpResultAbstract},
    {"__frexp_result_f16", Builtin::kFrexpResultF16},
    {"__frexp_result_f32", Builtin::kFrexpResultF32},
    {"__frexp_result_vec2_abstract", Builtin::kFrexpResultVec2Abstract},
    {"__frexp_result_vec2_f16", Builtin::kFrexpResultVec2F16},
    {"__frexp_result_vec2_f32", Builtin::kFrexpResultVec2F32},
    {"__frexp_result_vec3_abstract", Builtin::kFrexpResultVec3Abstract},
    {"__frexp_result_vec3_f16", Builtin::kFrexpResultVec3F16},
    {"__frexp_result_vec3_f32", Builtin::kFrexpResultVec3F32},
    {"__frexp_result_vec4_abstract", Builtin::kFrexpResultVec4Abstract},
    {"__frexp_result_vec4_f16", Builtin::kFrexpResultVec4F16},
    {"__frexp_result_vec4_f32", Builtin::kFrexpResultVec4F32},
    {"__modf_result_abstract", Builtin::kModfResultAbstract},
    {"__modf_result_f16", Builtin::kModfResultF16},
    {"__modf_result_f32", Builtin::kModfResultF32},
    {"__modf_result_vec2_abstract", Builtin::kModfResultVec2Abstract},
    {"__modf_result_vec2_f16", Builtin::kModfResultVec2F16},
    {"__modf_result_vec2_f32", Builtin::kModfResultVec2F32},
    {"__modf_result_vec3_abstract", Builtin::kModfResultVec3Abstract},
    {"__modf_result_vec3_f16", Builtin::kModfResultVec3F16},
    {"__modf_result_vec3_f32", Builtin::kModfResultVec3F32},
    {"__modf_result_vec4_abstract", Builtin::kModfResultVec4Abstract},
    {"__modf_result_vec4_f16", Builtin::kModfResultVec4F16},
    {"__modf_result_vec4_f32", Builtin::kModfResultVec4F32},
    {"__packed_vec3", Builtin::kPackedVec3},
    {"array", Builtin::kArray},
    {"atomic", Builtin::kAtomic},
    {"bool", Builtin::kBool},
    {"f16", Builtin::kF16},
    {"f32", Builtin::kF32},
    {"i32", Builtin::kI32},
    {"mat2x2", Builtin::kMat2X2},
    {"mat2x2f", Builtin::kMat2X2F},
    {"mat2x2h", Builtin::kMat2X2H},
    {"mat2x3", Builtin::kMat2X3},
    {"mat2x3f", Builtin::kMat2X3F},
    {"mat2x3h", Builtin::kMat2X3H},
    {"mat2x4", Builtin::kMat2X4},
    {"mat2x4f", Builtin::kMat2X4F},
    {"mat2x4h", Builtin::kMat2X4H},
    {"mat3x2", Builtin::kMat3X2},
    {"mat3x2f", Builtin::kMat3X2F},
    {"mat3x2h", Builtin::kMat3X2H},
    {"mat3x3", Builtin::kMat3X3},
    {"mat3x3f", Builtin::kMat3X3F},
    {"mat3x3h", Builtin::kMat3X3H},
    {"mat3x4", Builtin::kMat3X4},
    {"mat3x4f", Builtin::kMat3X4F},
    {"mat3x4h", Builtin::kMat3X4H},
    {"mat4x2", Builtin::kMat4X2},
    {"mat4x2f", Builtin::kMat4X2F},
    {"mat4x2h", Builtin::kMat4X2H},
    {"mat4x3", Builtin::kMat4X3},
    {"mat4x3f", Builtin::kMat4X3F},
    {"mat4x3h", Builtin::kMat4X3H},
    {"mat4x4", Builtin::kMat4X4},
    {"mat4x4f", Builtin::kMat4X4F},
    {"mat4x4h", Builtin::kMat4X4H},
    {"ptr", Builtin::kPtr},
    {"sampler", Builtin::kSampler},
    {"sampler_comparison", Builtin::kSamplerComparison},
    {"texture_1d", Builtin::kTexture1D},
    {"texture_2d", Builtin::kTexture2D},
    {"texture_2d_array", Builtin::kTexture2DArray},
    {"texture_3d", Builtin::kTexture3D},
    {"texture_cube", Builtin::kTextureCube},
    {"texture_cube_array", Builtin::kTextureCubeArray},
    {"texture_depth_2d", Builtin::kTextureDepth2D},
    {"texture_depth_2d_array", Builtin::kTextureDepth2DArray},
    {"texture_depth_cube", Builtin::kTextureDepthCube},
    {"texture_depth_cube_array", Builtin::kTextureDepthCubeArray},
    {"texture_depth_multisampled_2d", Builtin::kTextureDepthMultisampled2D},
    {"texture_external", Builtin::kTextureExternal},
    {"texture_multisampled_2d", Builtin::kTextureMultisampled2D},
    {"texture_storage_1d", Builtin::kTextureStorage1D},
    {"texture_storage_2d", Builtin::kTextureStorage2D},
    {"texture_storage_2d_array", Builtin::kTextureStorage2DArray},
    {"texture_storage_3d", Builtin::kTextureStorage3D},
    {"u32", Builtin::kU32},
    {"vec2", Builtin::kVec2},
    {"vec2f", Builtin::kVec2F},
    {"vec2h", Builtin::kVec2H},
    {"vec2i", Builtin::kVec2I},
    {"vec2u", Builtin::kVec2U},
    {"vec3", Builtin::kVec3},
    {"vec3f", Builtin::kVec3F},
    {"vec3h", Builtin::kVec3H},
    {"vec3i", Builtin::kVec3I},
    {"vec3u", Builtin::kVec3U},
    {"vec4", Builtin::kVec4},
    {"vec4f", Builtin::kVec4F},
    {"vec4h", Builtin::kVec4H},
    {"vec4i", Builtin::kVec4I},
    {"vec4u", Builtin::kVec4U},
};

static constexpr Case kInvalidCases[] = {
    {"__atomic_compareexchangeccresult_i32", Builtin::kUndefined},
    {"__atoml3_compare_exchane_resulti2", Builtin::kUndefined},
    {"__atomic_compare_Vxchange_result_i32", Builtin::kUndefined},
    {"__atomic_com1are_exchange_result_u32", Builtin::kUndefined},
    {"__atomic_qqompare_exchage_resulJ_u32", Builtin::kUndefined},
    {"__atllmic_compare_exchange_result_u377", Builtin::kUndefined},
    {"qpp_frexp_resultHHbstract", Builtin::kUndefined},
    {"__fep_esulv_abstract", Builtin::kUndefined},
    {"__Gbexp_resul_abstract", Builtin::kUndefined},
    {"_vfrexp_resiilt_f16", Builtin::kUndefined},
    {"__fr8xp_resultWWf16", Builtin::kUndefined},
    {"__frxp_result_fMxx", Builtin::kUndefined},
    {"gg_fXexp_reslt_f32", Builtin::kUndefined},
    {"__frXxpresul_V32", Builtin::kUndefined},
    {"__frexp_r3sult_f32", Builtin::kUndefined},
    {"__frexpEresult_vec2_abstract", Builtin::kUndefined},
    {"__frex_rPPsult_vTTc2_abstract", Builtin::kUndefined},
    {"__frexp_resuddt_ec2_xxbstract", Builtin::kUndefined},
    {"__frexp_result_ve442_f16", Builtin::kUndefined},
    {"_SSfrexp_resulVV_vec2_f16", Builtin::kUndefined},
    {"__fRxpRr22sult_vec2_f16", Builtin::kUndefined},
    {"__frexp_res9lt_vec_fF2", Builtin::kUndefined},
    {"__frexp_result_ve2_f32", Builtin::kUndefined},
    {"_OOfrexp_result_VeHRRf32", Builtin::kUndefined},
    {"__frexp_reyult_vec3_absract", Builtin::kUndefined},
    {"__frexp_re77ulll_vecG_arrnstract", Builtin::kUndefined},
    {"__4rexp_result_vec3_00bstract", Builtin::kUndefined},
    {"__oorxp_result_vec316", Builtin::kUndefined},
    {"zz_frexp_esult_ec3_f16", Builtin::kUndefined},
    {"__iirex11_result_vp3_f16", Builtin::kUndefined},
    {"__frXXxp_result_vec3_f32", Builtin::kUndefined},
    {"__fnnexp99resIIlt_vec3_f355", Builtin::kUndefined},
    {"__faSSerrp_result_vHHc3_fY2", Builtin::kUndefined},
    {"__freHp_resutve4_abstkkact", Builtin::kUndefined},
    {"jfrexpgresult_veRR4_abstrac", Builtin::kUndefined},
    {"__frexp_resul_vec4_absbrac", Builtin::kUndefined},
    {"_jfrexp_result_vec4_f16", Builtin::kUndefined},
    {"__frexp_resultvec4_f16", Builtin::kUndefined},
    {"__freqpresultvec4_f16", Builtin::kUndefined},
    {"__frexNN_result_vec_f32", Builtin::kUndefined},
    {"__frexp_resvvlt_vc4_f3", Builtin::kUndefined},
    {"__frexp_esult_vec4_f3QQ", Builtin::kUndefined},
    {"rmodf_reffultabstract", Builtin::kUndefined},
    {"__jodf_result_abstract", Builtin::kUndefined},
    {"_mNNwdf_r2sult8abstract", Builtin::kUndefined},
    {"__mdf_result_f16", Builtin::kUndefined},
    {"__modrr_result_f16", Builtin::kUndefined},
    {"__mGdf_result_f16", Builtin::kUndefined},
    {"__modf_resulFF_f32", Builtin::kUndefined},
    {"__modf_eult_E3", Builtin::kUndefined},
    {"__odf_resurrt_f32", Builtin::kUndefined},
    {"__modf_reslt_vec_abstract", Builtin::kUndefined},
    {"__modfJJresuDt_Xc2_abstract", Builtin::kUndefined},
    {"_modf_reslt_vec28abstrct", Builtin::kUndefined},
    {"__odf_reult_vkc211f1", Builtin::kUndefined},
    {"__mdf_result_vec2_f16", Builtin::kUndefined},
    {"__modf_resuJt_vec2_f6", Builtin::kUndefined},
    {"__modf_result_vec2cf32", Builtin::kUndefined},
    {"__modf_result_vec2_fO2", Builtin::kUndefined},
    {"KK_movvf_result_vec2_ftt__", Builtin::kUndefined},
    {"xx_modf_r8sult_vec3_abtr5ct", Builtin::kUndefined},
    {"__modf_resuFt_vec3_aqt__act", Builtin::kUndefined},
    {"__modf_result_vec3_aqqstrac", Builtin::kUndefined},
    {"__odf_33esult_vec3_f1O6", Builtin::kUndefined},
    {"_ttm6df_resQQlt_ooec9_f16", Builtin::kUndefined},
    {"_modf_resu66t_vec3_f16", Builtin::kUndefined},
    {"__mdf_resultOvxc3_f36zz", Builtin::kUndefined},
    {"__modf_resuyyt_vec3_f32", Builtin::kUndefined},
    {"__mod_resul_vecZHHf32", Builtin::kUndefined},
    {"__modf_reqult_44ec4WWbstract", Builtin::kUndefined},
    {"__mof_result_vec4_abstrOOct", Builtin::kUndefined},
    {"__modYooresult_vh4_bstract", Builtin::kUndefined},
    {"__modf_relt_ve4_f16", Builtin::kUndefined},
    {"__modf_result_ve4Ff16", Builtin::kUndefined},
    {"__modf_result_wec4_f1", Builtin::kUndefined},
    {"__Kdff_rGsult_vec4_f2", Builtin::kUndefined},
    {"__modf_reKKulq_vec4_f32", Builtin::kUndefined},
    {"__modf_resummt3vec4_f3F", Builtin::kUndefined},
    {"__packed_ec3", Builtin::kUndefined},
    {"__packed_ecq", Builtin::kUndefined},
    {"_backed_bbec3", Builtin::kUndefined},
    {"iira", Builtin::kUndefined},
    {"aqOOy", Builtin::kUndefined},
    {"arvvTTy", Builtin::kUndefined},
    {"atomFFc", Builtin::kUndefined},
    {"aoQ00P", Builtin::kUndefined},
    {"atPmic", Builtin::kUndefined},
    {"bos77", Builtin::kUndefined},
    {"CoRbbl", Builtin::kUndefined},
    {"booXX", Builtin::kUndefined},
    {"qOOO6", Builtin::kUndefined},
    {"fs", Builtin::kUndefined},
    {"f1X", Builtin::kUndefined},
    {"f3", Builtin::kUndefined},
    {"q", Builtin::kUndefined},
    {"f322", Builtin::kUndefined},
    {"0yz2", Builtin::kUndefined},
    {"iVP", Builtin::kUndefined},
    {"Cnn", Builtin::kUndefined},
    {"AtqqHH2", Builtin::kUndefined},
    {"at2x2", Builtin::kUndefined},
    {"mafKK", Builtin::kUndefined},
    {"ltgg2f", Builtin::kUndefined},
    {"mat2xf", Builtin::kUndefined},
    {"NTTtcx4f", Builtin::kUndefined},
    {"ma7ppl2h", Builtin::kUndefined},
    {"mNNt2xg", Builtin::kUndefined},
    {"uub2XX2h", Builtin::kUndefined},
    {"mt2x3", Builtin::kUndefined},
    {"m88xK", Builtin::kUndefined},
    {"maqx3", Builtin::kUndefined},
    {"m11t2x3f", Builtin::kUndefined},
    {"22at2iif", Builtin::kUndefined},
    {"at2x377", Builtin::kUndefined},
    {"m2t2xNh", Builtin::kUndefined},
    {"mVVt2x3h", Builtin::kUndefined},
    {"FaWW2w11h", Builtin::kUndefined},
    {"matww4", Builtin::kUndefined},
    {"mat2D4", Builtin::kUndefined},
    {"maKx4", Builtin::kUndefined},
    {"mat21PPhf", Builtin::kUndefined},
    {"mat24f", Builtin::kUndefined},
    {"mYYt2x4f", Builtin::kUndefined},
    {"mttHH4kk", Builtin::kUndefined},
    {"mat2rr4h", Builtin::kUndefined},
    {"WWas2x4h", Builtin::kUndefined},
    {"maYx2", Builtin::kUndefined},
    {"mq3f2", Builtin::kUndefined},
    {"vvafu222", Builtin::kUndefined},
    {"t3x2f", Builtin::kUndefined},
    {"YYat3f", Builtin::kUndefined},
    {"may3x2EYY", Builtin::kUndefined},
    {"da3xMoh", Builtin::kUndefined},
    {"matMMx2", Builtin::kUndefined},
    {"mat3x55h", Builtin::kUndefined},
    {"maN3", Builtin::kUndefined},
    {"ma33x3", Builtin::kUndefined},
    {"mt3x3", Builtin::kUndefined},
    {"mm66Issf", Builtin::kUndefined},
    {"mat3x1f", Builtin::kUndefined},
    {"Xt3x3", Builtin::kUndefined},
    {"LatIx3h", Builtin::kUndefined},
    {"at3fh", Builtin::kUndefined},
    {"mYtURD3", Builtin::kUndefined},
    {"mah3x4", Builtin::kUndefined},
    {"muqII4", Builtin::kUndefined},
    {"mat3xH", Builtin::kUndefined},
    {"at3QQvv", Builtin::kUndefined},
    {"at66ef", Builtin::kUndefined},
    {"ma7O4f", Builtin::kUndefined},
    {"m55t3x0DD", Builtin::kUndefined},
    {"maH3x4II", Builtin::kUndefined},
    {"at3x4", Builtin::kUndefined},
    {"ma994x2", Builtin::kUndefined},
    {"mWWt4Gt2", Builtin::kUndefined},
    {"ay42", Builtin::kUndefined},
    {"mt4x2f", Builtin::kUndefined},
    {"IIaBB4x2f", Builtin::kUndefined},
    {"TTat4x833", Builtin::kUndefined},
    {"ddUUnntYYx2h", Builtin::kUndefined},
    {"m5CCxxdZ", Builtin::kUndefined},
    {"matkkq2h", Builtin::kUndefined},
    {"5iitp00", Builtin::kUndefined},
    {"mnntIIx3", Builtin::kUndefined},
    {"ccaKx", Builtin::kUndefined},
    {"m43KK", Builtin::kUndefined},
    {"mat66x3f", Builtin::kUndefined},
    {"Et4PP3K", Builtin::kUndefined},
    {"xxatx3h", Builtin::kUndefined},
    {"qat4x3h", Builtin::kUndefined},
    {"MMayySrxh", Builtin::kUndefined},
    {"uat4", Builtin::kUndefined},
    {"tx4", Builtin::kUndefined},
    {"ma54FF4", Builtin::kUndefined},
    {"rra444z4f", Builtin::kUndefined},
    {"matWW", Builtin::kUndefined},
    {"CatZJXx4f", Builtin::kUndefined},
    {"maPPx4h", Builtin::kUndefined},
    {"mat4c4h", Builtin::kUndefined},
    {"matPPll6h", Builtin::kUndefined},
    {"9tyy", Builtin::kUndefined},
    {"ptKK", Builtin::kUndefined},
    {"x_", Builtin::kUndefined},
    {"ayKer", Builtin::kUndefined},
    {"szmpVek", Builtin::kUndefined},
    {"sampqeK", Builtin::kUndefined},
    {"sampler_comparisn", Builtin::kUndefined},
    {"sapler_comparisVVn", Builtin::kUndefined},
    {"samplerIcompaAUison", Builtin::kUndefined},
    {"jexurbRd", Builtin::kUndefined},
    {"exure_YYd", Builtin::kUndefined},
    {"exture_1d", Builtin::kUndefined},
    {"texxxur_1d", Builtin::kUndefined},
    {"tJxucce_2d", Builtin::kUndefined},
    {"texure_JJd", Builtin::kUndefined},
    {"lDexture_fCC_arraU", Builtin::kUndefined},
    {"tegture_2d_array", Builtin::kUndefined},
    {"teCCure2d_arra", Builtin::kUndefined},
    {"textue_3d", Builtin::kUndefined},
    {"tIx__ure_3d", Builtin::kUndefined},
    {"texurettPP", Builtin::kUndefined},
    {"tddx3ure_cube", Builtin::kUndefined},
    {"teKyyur_cube", Builtin::kUndefined},
    {"teturecub", Builtin::kUndefined},
    {"textinne_c03e_array", Builtin::kUndefined},
    {"nextCCruuvcubK_array", Builtin::kUndefined},
    {"tXxturellcbe_array", Builtin::kUndefined},
    {"tppxture_depth_2d", Builtin::kUndefined},
    {"txture_deptww_2d", Builtin::kUndefined},
    {"gexturedemmthuu2", Builtin::kUndefined},
    {"texmmre_depthaa2daray", Builtin::kUndefined},
    {"texture_RRepth_Td_ccZray", Builtin::kUndefined},
    {"text88re_depthTOd_array", Builtin::kUndefined},
    {"texture_depth_cm00e", Builtin::kUndefined},
    {"texture_Bmepth_cube", Builtin::kUndefined},
    {"Mextre_ppeph_cube", Builtin::kUndefined},
    {"texturOO_depth_cub_array", Builtin::kUndefined},
    {"GeGGture_depthcube_array", Builtin::kUndefined},
    {"texture11Hdepth_cube_array", Builtin::kUndefined},
    {"textu6e_FFepth_multiameeled_2d", Builtin::kUndefined},
    {"texture_epth_mltisampled_2d", Builtin::kUndefined},
    {"texture_depth_mullKsaiipled_2d", Builtin::kUndefined},
    {"texture_extenal", Builtin::kUndefined},
    {"IIext99reexvvernal", Builtin::kUndefined},
    {"texture_externl", Builtin::kUndefined},
    {"texture_mhltisampled_2d", Builtin::kUndefined},
    {"texturemPllltisampzzed_2d", Builtin::kUndefined},
    {"exture_mltisamed_2d", Builtin::kUndefined},
    {"texture_qqtoragff_1", Builtin::kUndefined},
    {"textre_JJddorage_1W", Builtin::kUndefined},
    {"XXrxture_storae1zz", Builtin::kUndefined},
    {"texturestorag2_2d", Builtin::kUndefined},
    {"yyNxture_storage_2d", Builtin::kUndefined},
    {"etue_storage_2OO", Builtin::kUndefined},
    {"reutuPe_storZgeE2d_array", Builtin::kUndefined},
    {"texlure_storddeee_d_22rray", Builtin::kUndefined},
    {"texture_mtorage_2V_a9ra", Builtin::kUndefined},
    {"teII1re_storage_3d", Builtin::kUndefined},
    {"texture_storagb_3d", Builtin::kUndefined},
    {"texizrestorge73d", Builtin::kUndefined},
    {"u3oi", Builtin::kUndefined},
    {"3", Builtin::kUndefined},
    {"S2", Builtin::kUndefined},
    {"e22", Builtin::kUndefined},
    {"1eC2", Builtin::kUndefined},
    {"vf8c2", Builtin::kUndefined},
    {"c2f", Builtin::kUndefined},
    {"JJecSSf", Builtin::kUndefined},
    {"92f", Builtin::kUndefined},
    {"vbbJJ2TT", Builtin::kUndefined},
    {"e66h", Builtin::kUndefined},
    {"u662h", Builtin::kUndefined},
    {"vW2i", Builtin::kUndefined},
    {"v2i", Builtin::kUndefined},
    {"veci", Builtin::kUndefined},
    {"rec2u", Builtin::kUndefined},
    {"2ec2B", Builtin::kUndefined},
    {"vcBBu", Builtin::kUndefined},
    {"veRR", Builtin::kUndefined},
    {"VLL0", Builtin::kUndefined},
    {"KOe3", Builtin::kUndefined},
    {"vgwcf", Builtin::kUndefined},
    {"vLphf", Builtin::kUndefined},
    {"eiiEf", Builtin::kUndefined},
    {"ec3h", Builtin::kUndefined},
    {"UU883", Builtin::kUndefined},
    {"rrecvvh", Builtin::kUndefined},
    {"ecmm", Builtin::kUndefined},
    {"vec4j", Builtin::kUndefined},
    {"vec3X", Builtin::kUndefined},
    {"vec38", Builtin::kUndefined},
    {"vecvEE", Builtin::kUndefined},
    {"z99ci", Builtin::kUndefined},
    {"JJGeQQ4", Builtin::kUndefined},
    {"ssec4", Builtin::kUndefined},
    {"PecK", Builtin::kUndefined},
    {"tpc4f", Builtin::kUndefined},
    {"vec", Builtin::kUndefined},
    {"MMec4f", Builtin::kUndefined},
    {"vJJc40", Builtin::kUndefined},
    {"8c", Builtin::kUndefined},
    {"vecggKh", Builtin::kUndefined},
    {"vecfi", Builtin::kUndefined},
    {"vec47Q", Builtin::kUndefined},
    {"veY4i", Builtin::kUndefined},
    {"keSu", Builtin::kUndefined},
    {"n422", Builtin::kUndefined},
    {"vFFu", Builtin::kUndefined},
};

using BuiltinParseTest = testing::TestWithParam<Case>;

TEST_P(BuiltinParseTest, Parse) {
    const char* string = GetParam().string;
    Builtin expect = GetParam().value;
    EXPECT_EQ(expect, ParseBuiltin(string));
}

INSTANTIATE_TEST_SUITE_P(ValidCases, BuiltinParseTest, testing::ValuesIn(kValidCases));
INSTANTIATE_TEST_SUITE_P(InvalidCases, BuiltinParseTest, testing::ValuesIn(kInvalidCases));

using BuiltinPrintTest = testing::TestWithParam<Case>;

TEST_P(BuiltinPrintTest, Print) {
    Builtin value = GetParam().value;
    const char* expect = GetParam().string;
    EXPECT_EQ(expect, tint::ToString(value));
}

INSTANTIATE_TEST_SUITE_P(ValidCases, BuiltinPrintTest, testing::ValuesIn(kValidCases));

}  // namespace parse_print_tests

}  // namespace
}  // namespace tint::core
