From 068f7e5e956463ba5994cd56c324f4cbeaf88c21 Mon Sep 17 00:00:00 2001 From: Veloman Yunkan Date: Sun, 11 Apr 2021 00:21:28 +0400 Subject: [PATCH] New unit-test LibraryTest.filterByCreator --- test/library.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/test/library.cpp b/test/library.cpp index e6f72e48a..f7b9b385c 100644 --- a/test/library.cpp +++ b/test/library.cpp @@ -370,6 +370,37 @@ TEST_F(LibraryTest, filterByQuery) } +TEST_F(LibraryTest, filterByCreator) +{ + auto bookIds = lib.filter(kiwix::Filter().creator("Wikipedia")); + EXPECT_EQ(ids2Titles(bookIds), + TitleCollection({ + "Encyclopédie de la Tunisie", + "Géographie par Wikipédia", + "Mathématiques" + }) + ); + + // filtering by creator requires full match of the search term + EXPECT_EQ(ids2Titles(lib.filter(kiwix::Filter().creator("Wiki"))), + TitleCollection({"Granblue Fantasy Wiki"}) + ); + + // filtering by creator is case sensitive + EXPECT_EQ(ids2Titles(lib.filter(kiwix::Filter().creator("wiki"))), + TitleCollection({}) + ); + + // filtering by creator requires full match of the full author/creator name + EXPECT_EQ(ids2Titles(lib.filter(kiwix::Filter().creator("Stack"))), + TitleCollection({}) + ); + EXPECT_EQ(ids2Titles(lib.filter(kiwix::Filter().creator("Movies & TV Stack Exchange"))), + TitleCollection({"Movies & TV Stack Exchange"}) + ); +} + + TEST_F(LibraryTest, filterByMultipleCriteria) { auto bookIds = lib.filter(kiwix::Filter().query("Wiki").creator("Wiki"));