From 65c9a1d31a338f28ef93cd61c475efc40f6cc42e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ho=C5=99e=C5=88ovsk=C3=BD?= Date: Mon, 7 Jun 2021 15:17:46 +0200 Subject: [PATCH] Add test for comparing immovable types --- .../SelfTest/UsageTests/Compilation.tests.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/SelfTest/UsageTests/Compilation.tests.cpp b/tests/SelfTest/UsageTests/Compilation.tests.cpp index 0f339cb8d4..5f8c82a38a 100644 --- a/tests/SelfTest/UsageTests/Compilation.tests.cpp +++ b/tests/SelfTest/UsageTests/Compilation.tests.cpp @@ -259,3 +259,21 @@ TEST_CASE("Assertion macros support bit operators and bool conversions", "[compi REQUIRE_FALSE(lhs ^ lhs); } +namespace { + struct ImmovableType { + ImmovableType() = default; + + ImmovableType(ImmovableType const&) = delete; + ImmovableType& operator=(ImmovableType const&) = delete; + ImmovableType(ImmovableType&&) = delete; + ImmovableType& operator=(ImmovableType&&) = delete; + + friend bool operator==(ImmovableType const&, ImmovableType const&) { + return true; + } + }; +} + +TEST_CASE("Immovable types are supported in basic assertions", "[compilation][.approvals]") { + REQUIRE(ImmovableType{} == ImmovableType{}); +}