51,15 → 51,22 |
Debug::printr('Supp. obsoletes:'.$this->traitementDao->supprimer($traitements_obsoletes)); |
} |
|
$this->tableStructureDao = new TableStructureDao(); |
$this->referentielDao = new ReferentielDao(); |
|
// Lancement du test demandé |
$cmd = $this->getParam('a'); |
switch ($cmd) { |
case 'tout' : |
$this->tableStructureDao = new TableStructureDao(); |
$this->referentielDao = new ReferentielDao(); |
Debug::printr('Départ lancement test:'); |
$this->recupererDonnees(); |
$this->lancerTests(); |
break; |
case 'test11' : |
$this->recupererDonnees(); |
Debug::printr('Départ lancement test 11 :'); |
$this->testerClassificationRang(); |
break; |
default : |
$this->traiterErreur('Erreur : la commande "%s" n\'existe pas!', array($cmd)); |
} |
69,17 → 76,16 |
Debug::printr("Aucun dernier traitement trouvé pour le script '".self::SCRIPT_NOM."' !"); |
} |
} |
|
public function lancerTests() { |
$donnees = array(); |
$donnees['tests'] = array(); |
|
|
public function recupererDonnees() { |
// Récupération des données à tester |
$colonnes = $this->tableStructureDao->getColonnes($this->projet); |
$analyses = $this->tableStructureDao->getAnalyse($this->projet); |
$this->noms = $this->referentielDao->getTout($this->projet); |
Debug::printr('Nbre noms :'.count($this->noms)); |
|
} |
|
public function lancerTests() { |
// Lancement des tests unitaires |
$resultats = array(); |
$resultats[] = $this->testerNombreDeChamps($colonnes); |
98,7 → 104,7 |
$this->testerNumTaxSupEgalZeroUnique(); |
$this->testerTaxSupPourTaxon(); |
$this->testerExitenceTaxonSuperieur(); |
$this->testerClassificationRang(); |
$this->testerClassificationRang(); |
$this->testerClassification(); |
|
$this->testerRang(); |
1501,7 → 1507,7 |
private function testerClassificationRang() { |
$info = array('nom' => 'Classification -> taxon supérieur avec rang inférieur', |
'description' => "Pour chaque enregistrement représentant un taxon, le taxon supérieur doit avoir ". |
"un rang inférieur au taxon courant.", |
"un rang inférieur au taxon courant (à l'exception des noms ayant le rang de Clade).", |
'resultat' => false); |
|
// Réalisation du test |
1510,8 → 1516,11 |
if ($nom['num_nom_retenu'] == $nom['num_nom']) { |
if (isset($this->noms[$nom['num_tax_sup']])) { |
$nom_sup = $this->noms[$nom['num_tax_sup']]; |
if ($nom_sup['rang'] > $nom['rang']) { |
$noms_erreur[] = $nom['num_nom']; |
if ($nom_sup['rang'] >= $nom['rang']) { |
// Prise en compte de l'exception des clades |
if (! ($nom_sup['rang'] == 70 && $nom['rang'] == 70)) { |
$noms_erreur[] = $nom['num_nom']; |
} |
} |
} |
} |