mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2024-12-29 06:15:24 +00:00
ac3ba84dad
Implements #1108.
169 lines
3.3 KiB
C++
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"));
|
|
}
|
|
|
|
}
|