| // Copyright 2016 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. |
| |
| #include "components/ntp_snippets/category.h" |
| |
| #include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace ntp_snippets { |
| |
| TEST(CategoryTest, FromKnownCategoryShouldReturnSameCategoryForSameInput) { |
| const KnownCategories known_category = KnownCategories::BOOKMARKS; |
| Category first = Category::FromKnownCategory(known_category); |
| Category second = Category::FromKnownCategory(known_category); |
| EXPECT_EQ(first, second); |
| } |
| |
| TEST(CategoryTest, ShouldIdentifyValidIDValues) { |
| EXPECT_TRUE( |
| Category::IsValidIDValue(static_cast<int>(KnownCategories::ARTICLES))); |
| EXPECT_FALSE(Category::IsValidIDValue(-1)); |
| EXPECT_TRUE(Category::IsValidIDValue(0)); |
| EXPECT_FALSE(Category::IsValidIDValue( |
| static_cast<int>(KnownCategories::REMOTE_CATEGORIES_OFFSET))); |
| EXPECT_TRUE(Category::IsValidIDValue( |
| static_cast<int>(KnownCategories::REMOTE_CATEGORIES_OFFSET) + 5)); |
| EXPECT_FALSE(Category::IsValidIDValue( |
| static_cast<int>(KnownCategories::LOCAL_CATEGORIES_COUNT))); |
| } |
| |
| TEST(CategoryFactoryTest, |
| FromRemoteCategoryShouldReturnSameCategoryForSameInput) { |
| const int remote_category_id = 123; |
| Category first = Category::FromRemoteCategory(remote_category_id); |
| Category second = Category::FromRemoteCategory(remote_category_id); |
| EXPECT_EQ(first, second); |
| } |
| |
| TEST(CategoryFactoryTest, FromIDValueShouldReturnSameKnownCategory) { |
| Category known_category = |
| Category::FromKnownCategory(KnownCategories::BOOKMARKS); |
| Category known_category_by_id = Category::FromIDValue(known_category.id()); |
| EXPECT_EQ(known_category, known_category_by_id); |
| } |
| |
| TEST(CategoryFactoryTest, FromIDValueShouldReturnSameRemoteCategory) { |
| const int remote_category_id = 123; |
| Category remote_category = Category::FromRemoteCategory(remote_category_id); |
| Category remote_category_by_id = Category::FromIDValue(remote_category.id()); |
| EXPECT_EQ(remote_category, remote_category_by_id); |
| } |
| |
| } // namespace ntp_snippets |