xref: /llvm-project/llvm/unittests/Support/MatchersTest.cpp (revision 5bdf25bc38baf33eb354a3dfb6959dce0aa30a85)
1 //===----- unittests/MatchersTest.cpp -------------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #include "llvm/ADT/Optional.h"
10 #include "llvm/Testing/Support/SupportHelpers.h"
11 #include "gmock/gmock-matchers.h"
12 
13 using ::testing::_;
14 using ::testing::AllOf;
15 using ::testing::Gt;
16 using ::testing::Lt;
17 using ::testing::Not;
18 
19 namespace {
20 TEST(MatchersTest, Optional) {
21   EXPECT_THAT(std::optional<int>(std::nullopt), Not(llvm::ValueIs(_)));
22   EXPECT_THAT(std::optional<int>(10), llvm::ValueIs(10));
23   EXPECT_THAT(std::optional<int>(10), llvm::ValueIs(AllOf(Lt(11), Gt(9))));
24 }
25 } // namespace
26