Add a PromotionManager.
[tagua/yd.git] / tests / settings / settingstest.cpp
blobb0b174da7bdec929cb103b26b5ab0a0e5b8c1309
1 #include "settingstest.h"
2 #include "mastersettings.h"
4 CPPUNIT_TEST_SUITE_REGISTRATION(SettingsTest);
6 MasterSettings& SettingsTest::test_settings() {
7 return *m_instance;
10 void SettingsTest::setUp() {
11 system("rm tmp.xml");
12 m_instance = new MasterSettings("tmp.xml", MasterSettings::PathLookup);
15 void SettingsTest::tearDown() {
16 delete m_instance;
19 void SettingsTest::test_null() {
20 CPPUNIT_ASSERT(!test_settings()["dummy"]);
21 CPPUNIT_ASSERT(!test_settings()["fourtytwo"]);
24 void SettingsTest::test_create_and_remove() {
25 test_settings()["dummy"] = QColor(3, 4, 5);
26 CPPUNIT_ASSERT(test_settings()["dummy"]);
27 CPPUNIT_ASSERT(QColor(3, 4, 5) == test_settings()["dummy"].value<QColor>());
28 test_settings()["dummy"].remove();
29 CPPUNIT_ASSERT(!test_settings()["dummy"]);
32 void SettingsTest::test_map() {
33 SettingMap<QString> map = test_settings().newMap<QString>("duck", "name");
36 Settings s = map.insert("paperino");
37 s["age"] = 34;
40 Settings s = map.insert("gastone");
41 s["age"] = 29;
44 Settings s = map.insert("qui");
45 s["age"] = 12;
48 Settings s = map.insert("quo");
49 s["age"] = 12;
52 Settings s = map.insert("qua");
53 s["age"] = 12;
56 CPPUNIT_ASSERT(map.size() == 5);
57 Settings s = map.get("gastone");
58 CPPUNIT_ASSERT(s["age"].value<int>() == 29);
60 map.clear();
62 CPPUNIT_ASSERT(!test_settings()["duck"]);
65 void SettingsTest::test_array() {
66 SettingArray array = test_settings().newArray("duck");
68 Settings s = array.append();
69 s["name"] = "nonna papera";
72 Settings s = array.append();
73 s["name"] = "ciccio";
76 CPPUNIT_ASSERT(array.size() == 2);
77 Settings s = array.get(1);
78 CPPUNIT_ASSERT(s["name"].value<QString>() == "ciccio");
80 array.clear();
82 CPPUNIT_ASSERT(!test_settings()["duck"]);