| 182 | } |
| 183 | |
| 184 | void DuplicateEqualsTest::objects() |
| 185 | { |
| 186 | QFETCH(QString, map_filename); |
| 187 | Map map {}; |
| 188 | map.loadFrom(map_filename); |
| 189 | |
| 190 | for (int part_number = 0; part_number < map.getNumParts(); ++part_number) |
| 191 | { |
| 192 | auto part = map.getPart(part_number); |
| 193 | for (int object = 0; object < part->getNumObjects(); ++object) |
| 194 | { |
| 195 | const auto original = part->getObject(object); |
| 196 | auto duplicate = std::unique_ptr<Object>(original->duplicate()); |
| 197 | QVERIFY(duplicate->equals(original, true)); |
| 198 | QVERIFY(!duplicate->getMap()); |
| 199 | |
| 200 | duplicate.reset(Object::getObjectForType(original->getType(), original->getSymbol())); |
| 201 | QVERIFY(bool(duplicate)); |
| 202 | duplicate->copyFrom(*original); |
| 203 | QVERIFY(duplicate->equals(original, true)); |
| 204 | QVERIFY(!duplicate->getMap()); |
| 205 | } |
| 206 | } |
| 207 | } |
| 208 | |
| 209 | |
| 210 | /* |