#include "common/common_pch.h" #include "merge/item_selector.h" #include "gtest/gtest.h" namespace { TEST(ItemSelector, NoneEmpty) { auto is = item_selector_c{}; is.set_none(); EXPECT_FALSE(is.selected(42)); EXPECT_FALSE(is.selected(42, "eng")); } TEST(ItemSelector, NoneIDsOnly) { auto is = item_selector_c{}; is.set_none(); is.add(23); is.add(42); EXPECT_FALSE(is.selected(42)); EXPECT_FALSE(is.selected(42, "eng")); } TEST(ItemSelector, NoneLanguagesOnly) { auto is = item_selector_c{}; is.set_none(); is.add("ger"); is.add("eng"); EXPECT_FALSE(is.selected(42)); EXPECT_FALSE(is.selected(42, "eng")); } TEST(ItemSelector, NoneIDsAndLanguages) { auto is = item_selector_c{}; is.set_none(); is.add(23); is.add(42); is.add("ger"); is.add("eng"); EXPECT_FALSE(is.selected(42)); EXPECT_FALSE(is.selected(42, "eng")); } TEST(ItemSelector, Empty) { auto is = item_selector_c{}; EXPECT_TRUE(is.selected(42)); EXPECT_TRUE(is.selected(42, "eng")); EXPECT_TRUE(is.selected(54)); EXPECT_TRUE(is.selected(54, "eng")); } TEST(ItemSelector, IDsOnly) { auto is = item_selector_c{}; is.add(23); is.add(42); EXPECT_TRUE(is.selected(42)); EXPECT_TRUE(is.selected(42, "eng")); EXPECT_FALSE(is.selected(54)); EXPECT_FALSE(is.selected(54, "eng")); } TEST(ItemSelector, LanguagesOnly) { auto is = item_selector_c{}; is.add("ger"); is.add("eng"); EXPECT_FALSE(is.selected(42)); EXPECT_TRUE(is.selected(42, "eng")); EXPECT_FALSE(is.selected(54)); EXPECT_TRUE(is.selected(54, "eng")); } TEST(ItemSelector, IDsAndLanguages) { auto is = item_selector_c{}; is.add(23); is.add(42); is.add("ger"); is.add("eng"); EXPECT_TRUE(is.selected(42)); EXPECT_TRUE(is.selected(42, "fre")); EXPECT_TRUE(is.selected(42, "eng")); EXPECT_FALSE(is.selected(54)); EXPECT_FALSE(is.selected(54, "fre")); EXPECT_TRUE(is.selected(54, "eng")); } TEST(ItemSelector, ReversedEmpty) { auto is = item_selector_c{}; is.set_reversed(); EXPECT_FALSE(is.selected(42)); EXPECT_FALSE(is.selected(42, "fre")); EXPECT_FALSE(is.selected(42, "eng")); EXPECT_FALSE(is.selected(54)); EXPECT_FALSE(is.selected(54, "fre")); EXPECT_FALSE(is.selected(54, "eng")); } TEST(ItemSelector, ReversedIDsOnly) { auto is = item_selector_c{}; is.set_reversed(); is.add(23); is.add(42); EXPECT_FALSE(is.selected(42)); EXPECT_FALSE(is.selected(42, "fre")); EXPECT_FALSE(is.selected(42, "eng")); EXPECT_TRUE(is.selected(54)); EXPECT_TRUE(is.selected(54, "fre")); EXPECT_TRUE(is.selected(54, "eng")); } TEST(ItemSelector, ReversedLanguagesOnly) { auto is = item_selector_c{}; is.set_reversed(); is.add("ger"); is.add("eng"); EXPECT_TRUE(is.selected(42)); EXPECT_TRUE(is.selected(42, "fre")); EXPECT_FALSE(is.selected(42, "eng")); EXPECT_TRUE(is.selected(54)); EXPECT_TRUE(is.selected(54, "fre")); EXPECT_FALSE(is.selected(54, "eng")); } TEST(ItemSelector, ReversedIDsAndLanguages) { auto is = item_selector_c{}; is.set_reversed(); is.add(23); is.add(42); is.add("ger"); is.add("eng"); EXPECT_FALSE(is.selected(42)); EXPECT_FALSE(is.selected(42, "fre")); EXPECT_FALSE(is.selected(42, "eng")); EXPECT_TRUE(is.selected(54)); EXPECT_TRUE(is.selected(54, "fre")); EXPECT_FALSE(is.selected(54, "eng")); } }