mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2025-12-27 05:03:26 -08:00
* Fix multi-word type matching in card filters Add phrase matching to StringValue before word-based fallback. Enables searches like t:"time lord" for multi-word creature types. * Use existing typedef * Don't inline lambda * update filter func * Update card type FilterString unit tests * refactor string matcher * update card db test * fix sets count in test * Add regex cache in string matcher * Update cockatrice/src/game/filters/filter_string.cpp * Revert "Add regex cache in string matcher" --------- Co-authored-by: RickyRister <42636155+RickyRister@users.noreply.github.com>
39 lines
1.4 KiB
C++
39 lines
1.4 KiB
C++
#include "mocks.h"
|
|
|
|
#include "gtest/gtest.h"
|
|
|
|
namespace
|
|
{
|
|
|
|
TEST(CardDatabaseTest, LoadXml)
|
|
{
|
|
settingsCache = new SettingsCache;
|
|
CardDatabase *db = new CardDatabase;
|
|
|
|
// ensure the card database is empty at start
|
|
ASSERT_EQ(0, db->getCardList().size()) << "Cards not empty at start";
|
|
ASSERT_EQ(0, db->getSetList().size()) << "Sets not empty at start";
|
|
ASSERT_EQ(0, db->getAllMainCardTypes().size()) << "Types not empty at start";
|
|
ASSERT_EQ(NotLoaded, db->getLoadStatus()) << "Incorrect status at start";
|
|
|
|
// load dummy cards and test result
|
|
db->loadCardDatabases();
|
|
ASSERT_EQ(9, db->getCardList().size()) << "Wrong card count after load";
|
|
ASSERT_EQ(5, db->getSetList().size()) << "Wrong sets count after load";
|
|
ASSERT_EQ(3, db->getAllMainCardTypes().size()) << "Wrong types count after load";
|
|
ASSERT_EQ(Ok, db->getLoadStatus()) << "Wrong status after load";
|
|
|
|
// ensure the card database is empty after clear()
|
|
db->clear();
|
|
ASSERT_EQ(0, db->getCardList().size()) << "Cards not empty after clear";
|
|
ASSERT_EQ(0, db->getSetList().size()) << "Sets not empty after clear";
|
|
ASSERT_EQ(0, db->getAllMainCardTypes().size()) << "Types not empty after clear";
|
|
ASSERT_EQ(NotLoaded, db->getLoadStatus()) << "Incorrect status after clear";
|
|
}
|
|
} // namespace
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
::testing::InitGoogleTest(&argc, argv);
|
|
return RUN_ALL_TESTS();
|
|
} |