// Copyright © Advanced Micro Devices, Inc., or its affiliates. // SPDX-License-Identifier: MIT #include #include #include #include using namespace hipdnn_data_sdk::utilities; TEST(TestVisitor, Correctness) { using VariantType = std::variant; auto visitor = hipdnn_data_sdk::utilities::Visitor{ [](float) { return 0; }, [](int) { return 1; }, [](const auto&) { return 2; }}; EXPECT_EQ(std::visit(visitor, VariantType{0.f}), 0); EXPECT_EQ(std::visit(visitor, VariantType{1}), 1); EXPECT_EQ(std::visit(visitor, VariantType{'c'}), 2); EXPECT_EQ(std::visit(visitor, VariantType{std::string{"abc"}}), 2); }