| 58 | } |
| 59 | |
| 60 | void TestVariantData::testAddRows() { |
| 61 | double expectedValue = 42.12309; |
| 62 | QVariant firstRow(expectedValue); |
| 63 | |
| 64 | QList<QVariant> secondRow; |
| 65 | secondRow << QVariant("kkoo") << QVariant(771) << QVariant(3.14); |
| 66 | |
| 67 | QStringList thirdRow; |
| 68 | thirdRow << "one" << "two" << "three"; |
| 69 | |
| 70 | QtCSV::VariantData varData; |
| 71 | varData.addRow(firstRow); |
| 72 | varData.addRow(secondRow); |
| 73 | varData.addRow(thirdRow); |
| 74 | |
| 75 | QVERIFY2(!varData.isEmpty(), "VariantData is empty"); |
| 76 | QVERIFY2(3 == varData.rowCount(), "Wrong number of rows"); |
| 77 | |
| 78 | QStringList values = varData.rowValues(0); |
| 79 | QVERIFY2(1 == values.size(), "Wrong number of values for first row"); |
| 80 | |
| 81 | auto resultValue = values.at(0).toDouble(); |
| 82 | QVERIFY2(resultValue - expectedValue < EPSILON, "Wrong double value"); |
| 83 | |
| 84 | QStringList secondRowValues = varData.rowValues(1); |
| 85 | QVERIFY2(secondRow.size() == secondRowValues.size(), |
| 86 | "Wrong number of elements in second row"); |
| 87 | |
| 88 | QVERIFY2(secondRow.at(0).toString() == secondRowValues.at(0), |
| 89 | "Wrong first element in second row"); |
| 90 | |
| 91 | QVERIFY2(secondRow.at(1).toInt() == secondRowValues.at(1).toInt(), |
| 92 | "Wrong second element in second row"); |
| 93 | |
| 94 | auto diff = secondRow.at(2).toDouble() - secondRowValues.at(2).toDouble(); |
| 95 | QVERIFY2(diff <= EPSILON, "Wrong third element in second row"); |
| 96 | |
| 97 | QVERIFY2(thirdRow == varData.rowValues(2), "Wrong third row values"); |
| 98 | } |
| 99 | |
| 100 | void TestVariantData::testClearEmptyData() { |
| 101 | QtCSV::VariantData varData; |