/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ #pragma once #include #include namespace UnitTest { template void ExpectEqAny(const T& expected, const AZStd::any& anyValue, const char* description = nullptr) { if (anyValue.empty()) { EXPECT_TRUE(false) << (description?description:"Value") << " is empty"; } else if (!anyValue.is()) { EXPECT_TRUE(false) << (description?description:"Value") << " is not of the expected type. Expected " << azrtti_typeid().template ToString().data() << " but was " << anyValue.get_type_info().m_id.ToString().data(); } else { T value = AZStd::any_cast(anyValue); EXPECT_EQ(expected, value) << (description?description:""); } } template void ExpectEqAny(const AZStd::any& anyValue, const T& expected, const char* description = nullptr) { return ExpectEqAny(expected, anyValue, description); } }