#include "CardPack_test.h" #include "../../common/printQtTypes.h" #include "../../../src/dictionary/IDictionary.h" #include "../../../src/dictionary/Field.h" #include "../../../src/dictionary/DicRecord.h" ostream& operator<<(ostream& os, const Field* field) { return os << field->name().toStdString(); } CardPackTest::CardPackTest(): pack(&dict), qstField("Question", "Normal"), ansField1("Answer1", "Normal"), ansField2("Answer2", "Normal") {} TEST_F(CardPackTest, empty_QuestionAnswers) { ASSERT_EQ(NULL, pack.getQuestionField()); ASSERT_EQ(QList(), pack.getAnswerFields()); } TEST_F(CardPackTest, empty_Id) { ASSERT_EQ("(empty pack)", pack.id()); } TEST_F(CardPackTest, empty_cardQuestions) { ASSERT_EQ(QStringList(), pack.getCardQuestions()); } TEST_F(CardPackTest, setQstField) { pack.setQstField(&qstField); ASSERT_EQ(&qstField, pack.getQuestionField()); } TEST_F(CardPackTest, setAnsField_1) { ansFields << &ansField1; pack.setAnsFields(ansFields); ASSERT_EQ(ansFields, pack.getAnswerFields()); } TEST_F(CardPackTest, setAnsFields_2) { ansFields << &ansField1 << &ansField2; pack.setAnsFields(ansFields); ASSERT_EQ(ansFields, pack.getAnswerFields()); } TEST_F(CardPackTest, addFields) { QList allFields; allFields << &qstField << &ansField1 << &ansField2; ansFields << &ansField1 << &ansField2; pack.addField(&qstField); pack.addField(&ansField1); pack.addField(&ansField2); ASSERT_EQ(allFields, pack.getFields()); ASSERT_EQ(&qstField, pack.getQuestionField()); ASSERT_EQ(ansFields, pack.getAnswerFields()); } TEST_F(CardPackTest, id) { ansFields << &ansField1 << &ansField2; pack.setQstField(&qstField); pack.setAnsFields(ansFields); ASSERT_EQ("Question - Answer1, Answer2", pack.id()); }