#include "ut_remotelist.h"
-#include "remotelist.h"
+
#include <QtTest>
-#include <QStringList>
void Ut_RemoteList::initTestCase()
{
validModels.insert("Topfield", QList<Model>());
validModels["Topfield"].append(Model("PVR5000", "PVR_5000_00"));
+
+ createDocument();
}
void Ut_RemoteList::cleanupTestCase()
{
}
-void Ut_RemoteList::init()
+void Ut_RemoteList::createDocument()
+{
+ QDomElement root = document.createElement("db");
+ document.appendChild(root);
+
+ for (int i = 0; i < validMfgs.keys().size(); ++i)
+ {
+ QChar letter = validMfgs.keys().at(i).at(0);
+ QDomElement charEl = document.createElement("char");
+ charEl.setAttribute("id", letter);
+ createMfgElements(letter, charEl);
+ root.appendChild(charEl);
+ }
+}
+
+void Ut_RemoteList::createMfgElements(QChar &letter, QDomElement &parent)
{
+ for (int i = 0; i < validMfgs[letter].size(); ++i)
+ {
+ QString mfg = validMfgs[letter].at(i);
+ QDomElement mfgEl = document.createElement("mfg");
+ mfgEl.setAttribute("id", mfg);
+ createModelElements(mfg, mfgEl);
+ parent.appendChild(mfgEl);
+ }
}
-void Ut_RemoteList::testSetContent()
+void Ut_RemoteList::createModelElements(const QString &mfg, QDomElement &parent)
{
+ for (int i = 0; i < validModels[mfg].size(); ++i)
+ {
+ Model m = validModels[mfg].at(i);
+ QDomElement modelEl = document.createElement("model");
+ modelEl.setAttribute("file", m.file);
+ modelEl.setAttribute("name", m.name);
+ parent.appendChild(modelEl);
+ }
}
void Ut_RemoteList::testIsValid()
{
- RemoteList subject("remotes.xml");
+ RemoteList subject(document);
QCOMPARE(subject.isValid(), true);
}
-void Ut_RemoteList::testIsValid_InvalidFile()
+void Ut_RemoteList::testIsValid_setContent()
{
- RemoteList subject("notxml");
+ RemoteList subject;
QCOMPARE(subject.isValid(), false);
+ subject.setContent(document);
+ QCOMPARE(subject.isValid(), true);
}
-void Ut_RemoteList::testIsValid_FileNotFound()
+void Ut_RemoteList::testLetters()
{
- RemoteList subject("thisdoesnotexist");
- QCOMPARE(subject.isValid(), false);
+ RemoteList subject(document);
+ compareLetters(subject);
}
-
-void Ut_RemoteList::testLetters()
+
+void Ut_RemoteList::testManufacturers()
+{
+ RemoteList subject(document);
+ compareManufacturers(subject);
+}
+
+void Ut_RemoteList::testModels()
+{
+ RemoteList subject(document);
+ compareModels(subject);
+}
+
+void Ut_RemoteList::testLetters_setContent()
+{
+ RemoteList subject;
+ subject.setContent(document);
+ compareLetters(subject);
+}
+
+void Ut_RemoteList::testManufacturers_setContent()
+{
+ RemoteList subject;
+ subject.setContent(document);
+ compareManufacturers(subject);
+}
+
+void Ut_RemoteList::testModels_setContent()
+{
+ RemoteList subject;
+ subject.setContent(document);
+ compareModels(subject);
+}
+
+void Ut_RemoteList::compareLetters(RemoteList &subject)
{
- QStringList letters = RemoteList("remotes.xml").letters();
+ QStringList letters = subject.letters();
QStringList validLetters = validMfgs.keys();
+
QCOMPARE(validLetters.size(), letters.size());
for (int i = 0; i < letters.size(); ++i)
}
}
-void Ut_RemoteList::testManufacturers()
+void Ut_RemoteList::compareManufacturers(RemoteList &subject)
{
- RemoteList subject("remotes.xml");
-
for (int i = 0; i < validMfgs.keys().size(); ++i)
{
QString letter = validMfgs.keys().at(i);
}
}
-void Ut_RemoteList::testModels()
+void Ut_RemoteList::compareModels(RemoteList &subject)
{
- RemoteList subject("remotes.xml");
-
for (int i = 0; i < validModels.keys().size(); ++i)
{
QString mfg = validModels.keys().at(i);