aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/vcpkg-test/optional.cpp
diff options
context:
space:
mode:
authornicole mazzuca <mazzucan@outlook.com>2020-09-02 09:13:44 -0700
committerGitHub <noreply@github.com>2020-09-02 09:13:44 -0700
commit9740611cab8faa9d9ada57265471e8e4786d37bc (patch)
tree71ca07c2bdd77a89f9596e759e618f64077821d9 /toolsrc/src/vcpkg-test/optional.cpp
parentf4a2dce829fb7cbf7e988edc5eceb40e35cbf2a6 (diff)
downloadvcpkg-9740611cab8faa9d9ada57265471e8e4786d37bc.tar.gz
vcpkg-9740611cab8faa9d9ada57265471e8e4786d37bc.zip
[vcpkg] Registries MVP (#13038)
Diffstat (limited to 'toolsrc/src/vcpkg-test/optional.cpp')
-rw-r--r--toolsrc/src/vcpkg-test/optional.cpp33
1 files changed, 32 insertions, 1 deletions
diff --git a/toolsrc/src/vcpkg-test/optional.cpp b/toolsrc/src/vcpkg-test/optional.cpp
index 929410eb3..f3c61387f 100644
--- a/toolsrc/src/vcpkg-test/optional.cpp
+++ b/toolsrc/src/vcpkg-test/optional.cpp
@@ -1,6 +1,7 @@
#include <catch2/catch.hpp>
#include <vcpkg/base/optional.h>
+#include <vcpkg/base/util.h>
#include <vector>
@@ -27,9 +28,39 @@ TEST_CASE ("equal", "[optional]")
CHECK(Optional<int>{42} == Optional<int>{42});
}
+TEST_CASE ("ref conversion", "[optional]")
+{
+ using vcpkg::Optional;
+
+ Optional<int> i_empty;
+ Optional<int> i_1 = 1;
+ const Optional<int> ci_1 = 1;
+
+ Optional<int&> ref_empty = i_empty;
+ Optional<const int&> cref_empty = i_empty;
+
+ Optional<int&> ref_1 = i_1;
+ Optional<const int&> cref_1 = ci_1;
+
+ REQUIRE(ref_empty.has_value() == false);
+ REQUIRE(cref_empty.has_value() == false);
+
+ REQUIRE(ref_1.get() == i_1.get());
+ REQUIRE(cref_1.get() == ci_1.get());
+
+ ref_empty = i_1;
+ cref_empty = ci_1;
+ REQUIRE(ref_empty.get() == i_1.get());
+ REQUIRE(cref_empty.get() == ci_1.get());
+
+ const int x = 5;
+ cref_1 = x;
+ REQUIRE(cref_1.get() == &x);
+}
+
TEST_CASE ("common_projection", "[optional]")
{
- using vcpkg::common_projection;
+ using vcpkg::Util::common_projection;
std::vector<int> input;
CHECK(!common_projection(input, identity_projection{}).has_value());
input.push_back(42);