Files
allwpilib/ntcore/src/test/native/cpp/PubSubOptionsMatcher.h

36 lines
1005 B
C
Raw Normal View History

2022-10-08 10:01:31 -07:00
// Copyright (c) FIRST and other WPILib contributors.
// Open Source Software; you can modify and/or share it under the terms of
// the WPILib BSD license file in the root directory of this project.
#pragma once
#include <ostream>
#include <utility>
#include "PubSubOptions.h"
#include "gmock/gmock.h"
namespace nt {
class PubSubOptionsMatcher
: public ::testing::MatcherInterface<const PubSubOptionsImpl&> {
2022-10-08 10:01:31 -07:00
public:
explicit PubSubOptionsMatcher(PubSubOptionsImpl good)
: good{std::move(good)} {}
2022-10-08 10:01:31 -07:00
bool MatchAndExplain(const PubSubOptionsImpl& val,
2022-10-08 10:01:31 -07:00
::testing::MatchResultListener* listener) const override;
void DescribeTo(::std::ostream* os) const override;
void DescribeNegationTo(::std::ostream* os) const override;
private:
PubSubOptionsImpl good;
2022-10-08 10:01:31 -07:00
};
inline ::testing::Matcher<const PubSubOptionsImpl&> PubSubOptionsEq(
PubSubOptionsImpl good) {
2022-10-08 10:01:31 -07:00
return ::testing::MakeMatcher(new PubSubOptionsMatcher(std::move(good)));
}
} // namespace nt