#include "CardPack_GenerateCards_test.h" #include #include "../../common/printQtTypes.h" #include "../../../src/dictionary/IDictionary.h" #include "../../../src/dictionary/Field.h" #include "../../../src/dictionary/DicRecord.h" vector GenerateCardsTest::fields; INSTANTIATE_TEST_CASE_P(, GenerateCardsTest, testing::ValuesIn(RecordsParam::createParams()) ); vector GenerateCardsTest::getFields() { static vector names {"English", "Russian"}; if(fields.empty()) for(string name: names) fields.push_back(new Field(name.c_str(), "Normal")); return fields; } void GenerateCardsTest::TearDownTestCase() { for(Field* field: fields) delete field; } TEST_P(GenerateCardsTest, generateQuestions) { auto param = GetParam(); dict.addRecords(param.records); for(int fieldId: param.packFields) pack.addField(getFields()[ fieldId ]); pack.generateQuestions(); QStringList questions; for(string question: param.questions) questions << question.c_str(); ASSERT_EQ(questions, pack.getCardQuestions()); }