Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 164 → Rev 165

/trunk/scripts/modules/tests/Tests.php
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'];
}
}
}
}