chromium/components/segmentation_platform/public/testing/mock_segmentation_platform_service.h

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_SEGMENTATION_PLATFORM_PUBLIC_TESTING_MOCK_SEGMENTATION_PLATFORM_SERVICE_H_
#define COMPONENTS_SEGMENTATION_PLATFORM_PUBLIC_TESTING_MOCK_SEGMENTATION_PLATFORM_SERVICE_H_

#include <utility>

#include "base/strings/strcat.h"
#include "components/segmentation_platform/public/input_context.h"
#include "components/segmentation_platform/public/result.h"
#include "components/segmentation_platform/public/segment_selection_result.h"
#include "components/segmentation_platform/public/segmentation_platform_service.h"
#include "components/segmentation_platform/public/trigger.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"

namespace segmentation_platform {

class MockSegmentationPlatformService : public SegmentationPlatformService {};

MATCHER_P(IsInputContextWithArgs,
          input_context_args,
          ::testing::PrintToString(input_context_args)) {}

MATCHER(TrainingLabelEmpty, "no training labels present") {}

MATCHER_P2(HasTrainingLabel,
           histogram_name,
           histogram_value,
           base::StrCat({}

}  // namespace segmentation_platform

#endif  // COMPONENTS_SEGMENTATION_PLATFORM_PUBLIC_TESTING_MOCK_SEGMENTATION_PLATFORM_SERVICE_H_