| // 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 ASH_COMPONENTS_QUICK_ANSWERS_TEST_TEST_HELPERS_H_ |
| #define ASH_COMPONENTS_QUICK_ANSWERS_TEST_TEST_HELPERS_H_ |
| |
| #include "ash/components/quick_answers/quick_answers_client.h" |
| #include "ash/components/quick_answers/quick_answers_model.h" |
| #include "ash/components/quick_answers/result_loader.h" |
| #include "ash/components/quick_answers/utils/quick_answers_utils.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| |
| namespace chromeos { |
| namespace quick_answers { |
| |
| std::string GetQuickAnswerTextForTesting( |
| const std::vector<std::unique_ptr<QuickAnswerUiElement>>& elements); |
| |
| 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_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 (GetQuickAnswerTextForTesting(arg->first_answer_row) == |
| GetQuickAnswerTextForTesting(quick_answer->first_answer_row) && |
| GetQuickAnswerTextForTesting(arg->title) == |
| GetQuickAnswerTextForTesting(quick_answer->title)); |
| } |
| |
| MATCHER_P(QuickAnswersRequestEqual, quick_answers_request, "") { |
| return (arg.selected_text == quick_answers_request.selected_text); |
| } |
| |
| MATCHER_P(PreprocessedOutputEqual, preprocessed_output, "") { |
| return (arg.query == preprocessed_output.query); |
| } |
| |
| } // namespace quick_answers |
| } // namespace chromeos |
| |
| #endif // ASH_COMPONENTS_QUICK_ANSWERS_TEST_TEST_HELPERS_H_ |