From 6dd3d36c4552565756dcedab2ddd44e90a553252 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Thu, 19 Jun 2008 02:06:10 +0000 Subject: [FIX] Validation works in Pokémodr [FIX] Macros moved to their own file [FIX] Macros for subclasses added [FIX] Key shortcuts added to context menu items [FIX] Rules had a redundant field MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@212 6ecfd1a5-f3ed-3746-8530-beee90d26b22 --- pokemod/Map.cpp | 57 +++++++++++++++++++-------------------------------------- 1 file changed, 19 insertions(+), 38 deletions(-) (limited to 'pokemod/Map.cpp') diff --git a/pokemod/Map.cpp b/pokemod/Map.cpp index 419d75e3..11a69fe7 100644 --- a/pokemod/Map.cpp +++ b/pokemod/Map.cpp @@ -19,6 +19,7 @@ #include "Map.h" // Pokemod includes +#include "Macros.h" #include "MapEffect.h" #include "MapTrainer.h" #include "MapWarp.h" @@ -63,6 +64,7 @@ Pokemod::Map::~Map() void Pokemod::Map::validate() { + TEST_BEGIN(); if (m_name.isEmpty()) emit(error("Name is empty")); TEST(setFlyWarp, flyWarp); @@ -72,54 +74,33 @@ void Pokemod::Map::validate() QSet nameChecker; if (!effectCount()) emit(warning("There are no effects")); - foreach (MapEffect* effect, m_effects) - { - effect->validate(); - if (idChecker.contains(effect->id())) - emit(error(subclass("effect", effect->id()))); - idChecker.insert(effect->id()); - if (nameChecker.contains(effect->name())) - emit(error(subclass("effect", effect->name()))); - nameChecker.insert(effect->name()); - } + TEST_SUB_BEGIN(MapEffect, effects); + TEST_SUB("effect", id); + TEST_SUB("effect", name); + TEST_SUB_END(); idChecker.clear(); nameChecker.clear(); if (!trainerCount()) emit(warning("There are no trainers")); - foreach (MapTrainer* trainer, m_trainers) - { - trainer->validate(); - if (idChecker.contains(trainer->id())) - emit(error(subclass("trainer", trainer->id()))); - idChecker.insert(trainer->id()); - if (nameChecker.contains(trainer->name())) - emit(error(subclass("trainer", trainer->name()))); - nameChecker.insert(trainer->name()); - } + TEST_SUB_BEGIN(MapTrainer, trainers); + TEST_SUB("trainer", id); + TEST_SUB("trainer", name); + TEST_SUB_END(); idChecker.clear(); nameChecker.clear(); if (!warpCount()) emit(error("There are no warps")); - foreach (MapWarp* warp, m_warps) - { - warp->validate(); - if (idChecker.contains(warp->id())) - emit(error(subclass("warp", warp->id()))); - idChecker.insert(warp->id()); - if (nameChecker.contains(warp->name())) - emit(error(subclass("warp", warp->name()))); - nameChecker.insert(warp->name()); - } + TEST_SUB_BEGIN(MapWarp, warps); + TEST_SUB("warp", id); + TEST_SUB("warp", name); + TEST_SUB_END(); idChecker.clear(); if (!wildListCount()) - emit(error("There are no wild lists")); - foreach (MapWildList* wildList, m_wildLists) - { - wildList->validate(); - if (idChecker.contains(wildList->id())) - emit(error(subclass("effect", wildList->id()))); - idChecker.insert(wildList->id()); - } + emit(warning("There are no wild lists")); + TEST_SUB_BEGIN(MapWildList, wildLists); + TEST_SUB("wild list", id); + TEST_SUB_END(); + TEST_END(); } void Pokemod::Map::load(const QDomElement& xml, int id) -- cgit