/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #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); } }