diff options
| author | nicole mazzuca <mazzucan@outlook.com> | 2020-09-02 09:13:44 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-02 09:13:44 -0700 |
| commit | 9740611cab8faa9d9ada57265471e8e4786d37bc (patch) | |
| tree | 71ca07c2bdd77a89f9596e759e618f64077821d9 /toolsrc/src/vcpkg-test/optional.cpp | |
| parent | f4a2dce829fb7cbf7e988edc5eceb40e35cbf2a6 (diff) | |
| download | vcpkg-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.cpp | 33 |
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); |
