mkvtoolnix/tests/unit/merge/item_selector.cpp
2015-03-28 19:18:39 +01:00

169 lines
3.3 KiB
C++

#include "common/common_pch.h"
#include "merge/item_selector.h"
#include "gtest/gtest.h"
namespace {
TEST(ItemSelector, NoneEmpty) {
auto is = item_selector_c<bool>{};
is.set_none();
EXPECT_FALSE(is.selected(42));
EXPECT_FALSE(is.selected(42, "eng"));
}
TEST(ItemSelector, NoneIDsOnly) {
auto is = item_selector_c<bool>{};
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<bool>{};
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<bool>{};
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<bool>{};
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<bool>{};
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<bool>{};
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<bool>{};
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<bool>{};
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<bool>{};
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<bool>{};
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<bool>{};
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"));
}
}