summaryrefslogtreecommitdiff
path: root/tests/unit/CardPack/CardPack_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/CardPack/CardPack_test.cpp')
-rw-r--r--tests/unit/CardPack/CardPack_test.cpp80
1 files changed, 80 insertions, 0 deletions
diff --git a/tests/unit/CardPack/CardPack_test.cpp b/tests/unit/CardPack/CardPack_test.cpp
new file mode 100644
index 0000000..47b2387
--- /dev/null
+++ b/tests/unit/CardPack/CardPack_test.cpp
@@ -0,0 +1,80 @@
+#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<const Field*>(), 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<const Field*> 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());
+ }