1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef COMPONENTS_NTP_SNIPPETS_CATEGORY_RANKERS_FAKE_CATEGORY_RANKER_H_
6 #define COMPONENTS_NTP_SNIPPETS_CATEGORY_RANKERS_FAKE_CATEGORY_RANKER_H_
7 
8 #include <vector>
9 
10 #include "base/time/time.h"
11 #include "components/ntp_snippets/category.h"
12 #include "components/ntp_snippets/category_rankers/category_ranker.h"
13 #include "testing/gmock/include/gmock/gmock.h"
14 
15 namespace ntp_snippets {
16 
17 class FakeCategoryRanker : public CategoryRanker {
18  public:
19   FakeCategoryRanker();
20   ~FakeCategoryRanker() override;
21 
SetOrder(const std::vector<Category> & new_order)22   void SetOrder(const std::vector<Category>& new_order) {
23     categories_ = new_order;
24   }
25 
26   // CategoryRanker implementation.
27   bool Compare(Category left, Category right) const override;
28   void ClearHistory(base::Time begin, base::Time end) override;
29   void AppendCategoryIfNecessary(Category category) override;
30   void InsertCategoryBeforeIfNecessary(Category category_to_insert,
31                                        Category anchor) override;
32   void InsertCategoryAfterIfNecessary(Category category_to_insert,
33                                       Category anchor) override;
34   std::vector<CategoryRanker::DebugDataItem> GetDebugData() override;
35   void OnSuggestionOpened(Category category) override;
36   void OnCategoryDismissed(Category category) override;
37 
38  private:
39   std::vector<Category> categories_;
40 };
41 
42 }  // namespace ntp_snippets
43 
44 #endif  // COMPONENTS_NTP_SNIPPETS_CATEGORY_RANKERS_FAKE_CATEGORY_RANKER_H_
45