blob: 0129231b87d8b9c712dc1d2984e88762f8650c40 [file] [log] [blame]
// 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