21 #include <ktemporaryfile.h>
26 void TestFWParser::initTestCase() {
28 "this is an exam ple of 256 cases being tested -3.14 times\n");
31 test_cases_.append(
"this is an ex\n\n");
33 KTemporaryFile temp_file;
34 temp_file.setPrefix(QDir::tempPath() +
"/");
35 temp_file.setSuffix(
".txt");
36 temp_file.setAutoRemove(
false);
37 QVERIFY(temp_file.open());
38 test_file_name_ = temp_file.fileName();
40 foreach(
const QString &test_case, test_cases_)
41 out_stream << test_case;
70 test_parser_ =
new KSParser(test_file_name_,
'#', sequence_, widths_);
77 void TestFWParser::cleanupTestCase() {
81 void TestFWParser::MixedInputs() {
85 QHash<QString, QVariant> row_content = test_parser_->
ReadNextRow();
87 QCOMPARE(row_content[
"field1"].toString(), QString(
"this"));
88 QCOMPARE(row_content[
"field2"].toString(), QString(
"is"));
89 QCOMPARE(row_content[
"field3"].toString(), QString(
"an"));
90 QCOMPARE(row_content[
"field4"].toString(), QString(
"exam ple"));
91 QCOMPARE(row_content[
"field5"].toString(), QString(
"of"));
92 QCOMPARE(row_content[
"field6"].toInt(), 256);
93 QCOMPARE(row_content[
"field7"].toString(), QString(
"cases"));
94 QCOMPARE(row_content[
"field8"].toString(), QString(
"being"));
95 QCOMPARE(row_content[
"field9"].toString(), QString(
"tested"));
96 QVERIFY(row_content[
"field10"].toFloat() + 3.141 < 0.1);
97 QCOMPARE(row_content[
"field11"].toString(), QString(
""));
98 QCOMPARE(row_content[
"field12"].toString(), QString(
"times"));
101 void TestFWParser::OnlySpaceRow() {
105 QHash<QString, QVariant> row_content = test_parser_->
ReadNextRow();
107 QCOMPARE(row_content[
"field1"].toString(), QString(
""));
108 QCOMPARE(row_content[
"field2"].toString(), QString(
""));
109 QCOMPARE(row_content[
"field3"].toString(), QString(
""));
110 QCOMPARE(row_content[
"field4"].toString(), QString(
""));
111 QCOMPARE(row_content[
"field5"].toString(), QString(
""));
112 QCOMPARE(row_content[
"field6"].toInt(), 0);
113 QCOMPARE(row_content[
"field7"].toString(), QString(
""));
114 QCOMPARE(row_content[
"field8"].toString(), QString(
""));
115 QCOMPARE(row_content[
"field9"].toString(), QString(
""));
116 QCOMPARE(row_content[
"field10"].toFloat(),
float(0.0));
117 QCOMPARE(row_content[
"field11"].toString(), QString(
""));
118 QCOMPARE(row_content[
"field12"].toString(), QString(
""));
121 void TestFWParser::NoRow() {
130 QHash<QString, QVariant> row_content;
131 qDebug() << row_content[
"field12"];
133 for (
int times = 0; times < 20; times++) {
135 QCOMPARE(row_content[
"field1"].toString(), QString(
"Null"));
136 QCOMPARE(row_content[
"field2"].toString(), QString(
"Null"));
137 QCOMPARE(row_content[
"field3"].toString(), QString(
"Null"));
138 QCOMPARE(row_content[
"field4"].toString(), QString(
"Null"));
139 QCOMPARE(row_content[
"field5"].toString(), QString(
"Null"));
140 QCOMPARE(row_content[
"field6"].toInt(), 0);
141 QCOMPARE(row_content[
"field7"].toString(), QString(
"Null"));
142 QCOMPARE(row_content[
"field8"].toString(), QString(
"Null"));
143 QCOMPARE(row_content[
"field9"].toString(), QString(
"Null"));
144 QCOMPARE(row_content[
"field10"].toFloat(),
float(0.0));
145 QCOMPARE(row_content[
"field11"].toString(), QString(
"Null"));
146 QCOMPARE(row_content[
"field12"].toString(), QString(
"Null"));
150 void TestFWParser::FWReadMissingFile()
157 QFile::remove(test_file_name_);
159 KSParser missing_parser(test_file_name_,
'#', sequence_, widths_);
160 QHash<QString, QVariant> row_content = missing_parser.ReadNextRow();
162 for (
int times = 0; times < 20; times++) {
163 row_content = missing_parser.ReadNextRow();
164 QCOMPARE(row_content[
"field1"].toString(), QString(
"Null"));
165 QCOMPARE(row_content[
"field2"].toString(), QString(
"Null"));
166 QCOMPARE(row_content[
"field3"].toString(), QString(
"Null"));
167 QCOMPARE(row_content[
"field4"].toString(), QString(
"Null"));
168 QCOMPARE(row_content[
"field5"].toString(), QString(
"Null"));
169 QCOMPARE(row_content[
"field6"].toInt(), 0);
170 QCOMPARE(row_content[
"field7"].toString(), QString(
"Null"));
171 QCOMPARE(row_content[
"field8"].toString(), QString(
"Null"));
172 QCOMPARE(row_content[
"field9"].toString(), QString(
"Null"));
173 QCOMPARE(row_content[
"field10"].toFloat(),
float(0.0));
174 QCOMPARE(row_content[
"field11"].toString(), QString(
"Null"));
175 QCOMPARE(row_content[
"field12"].toString(), QString(
"Null"));
183 #include "testfwparser.moc"
Generic class for text file parsers used in KStars.
QHash< QString, QVariant > ReadNextRow()
Generic function used to read the next row of a text file.