chromium/components/optimization_guide/core/mock_optimization_guide_model_executor.h

// Copyright 2024 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_OPTIMIZATION_GUIDE_CORE_MOCK_OPTIMIZATION_GUIDE_MODEL_EXECUTOR_H_
#define COMPONENTS_OPTIMIZATION_GUIDE_CORE_MOCK_OPTIMIZATION_GUIDE_MODEL_EXECUTOR_H_

#include "base/memory/raw_ptr.h"
#include "components/optimization_guide/core/optimization_guide_model_executor.h"
#include "testing/gmock/include/gmock/gmock.h"

namespace optimization_guide {

class MockOptimizationGuideModelExecutor
    : public OptimizationGuideModelExecutor {};

class MockSession : public OptimizationGuideModelExecutor::Session {};

// A wrapper that passes through calls to the underlying MockSession. Allows for
// easily mocking calls with a single session object.
class MockSessionWrapper : public OptimizationGuideModelExecutor::Session {};

}  // namespace optimization_guide

#endif  // COMPONENTS_OPTIMIZATION_GUIDE_CORE_MOCK_OPTIMIZATION_GUIDE_MODEL_EXECUTOR_H_