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