blob: eed9017cb9870737832b91601f7a6cd59d1112d8 [file] [log] [blame]
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROMEOS_COMPONENTS_QUICK_ANSWERS_TEST_TEST_HELPERS_H_
#define CHROMEOS_COMPONENTS_QUICK_ANSWERS_TEST_TEST_HELPERS_H_
#include "chromeos/components/quick_answers/quick_answers_client.h"
#include "chromeos/components/quick_answers/quick_answers_model.h"
#include "chromeos/components/quick_answers/result_loader.h"
#include "testing/gmock/include/gmock/gmock.h"
namespace chromeos {
namespace quick_answers {
class MockQuickAnswersDelegate : public QuickAnswersDelegate {
public:
MockQuickAnswersDelegate();
~MockQuickAnswersDelegate() override;
MockQuickAnswersDelegate(const MockQuickAnswersDelegate&) = delete;
MockQuickAnswersDelegate& operator=(const MockQuickAnswersDelegate&) = delete;
// QuickAnswersClient::QuickAnswersDelegate:
MOCK_METHOD1(OnQuickAnswerReceived, void(std::unique_ptr<QuickAnswer>));
MOCK_METHOD1(OnRequestPreprocessFinished, void(const QuickAnswersRequest&));
MOCK_METHOD1(OnEligibilityChanged, void(bool));
MOCK_METHOD0(OnNetworkError, void());
};
class MockResultLoaderDelegate : public ResultLoader::ResultLoaderDelegate {
public:
MockResultLoaderDelegate();
MockResultLoaderDelegate(const MockResultLoaderDelegate&) = delete;
MockResultLoaderDelegate& operator=(const MockResultLoaderDelegate&) = delete;
~MockResultLoaderDelegate() override;
// ResultLoader::ResultLoaderDelegate:
MOCK_METHOD0(OnNetworkError, void());
MOCK_METHOD1(OnQuickAnswerReceived, void(std::unique_ptr<QuickAnswer>));
};
MATCHER_P(QuickAnswerEqual, quick_answer, "") {
return (arg->primary_answer == quick_answer->primary_answer);
}
MATCHER_P(QuickAnswersRequestEqual, quick_answers_request, "") {
return (arg.selected_text == quick_answers_request.selected_text);
}
} // namespace quick_answers
} // namespace chromeos
#endif // CHROMEOS_COMPONENTS_QUICK_ANSWERS_TEST_TEST_HELPERS_H_