Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 162 → Rev 163

/trunk/scripts/modules/tests/Tests.php
209,9 → 209,9
private function testerStatutCultureSyntaxe() {
$info = array('nom' => 'statut_culture -> syntaxe',
'description' => "Le champ statut_culture peut contenir :\n".
" - le symbole tiret «-» une autre information non référencée...\n".
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon.\n".
" - Cette première lettre peut être suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
" - le symbole tiret «-» précédant une autre information non référencée...\n".
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n".
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
"un code de présence spécifique au référentiel.",
'resultat' => false);
240,9 → 240,9
private function testerStatutIntroductionSyntaxe() {
$info = array('nom' => 'statut_introduction -> syntaxe',
'description' => "Le champ statut_introduction peut contenir :\n".
" - le symbole tiret «-» une autre information non référencée...\n".
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon.\n".
" - Cette première lettre peut être suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
" - le symbole tiret «-» précédant une autre information non référencée...\n".
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n".
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
"un code de présence spécifique au référentiel.",
'resultat' => false);
271,9 → 271,9
private function testerStatutOrigineSyntaxe() {
$info = array('nom' => 'statut_origine -> syntaxe',
'description' => "Le champ statut_origine peut contenir :\n".
" - le symbole tiret «-» une autre information non référencée...\n".
" - le symbole tiret «-» précédant une autre information non référencée...\n".
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon.\n".
" - Cette première lettre peut être suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
"un code de présence spécifique au référentiel.",
'resultat' => false);
302,9 → 302,9
private function testerPresenceSyntaxe() {
$info = array('nom' => 'presence -> syntaxe',
'description' => "Le champ presence contient soit :\n".
" - le symbole tiret «-» une autre information non référencée...\n".
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon.\n".
" - Cette première lettre peut être suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
" - le symbole tiret «-» précédant une autre information non référencée...\n".
" - une première lettre en majuscule indiquant le code standard attribué à ce taxon,\n".
" - éventuellement suivie d'un tiret puis d'une deuxième lettre en majuscule indiquant ".
"un code de présence spécifique au référentiel.",
'resultat' => false);
361,8 → 361,8
private function testerHybrideParent02Syntaxe() {
$info = array('nom' => 'hybride_parent_02 -> syntaxe',
'description' => "Le champ hybride_parent_02 contient soit :\n".
" - une valeur vide.\n".
" - un nombre",
" - une valeur vide,\n".
" - un nombre.",
'resultat' => false);
// Réalisation du test
419,8 → 419,8
private function testerHybrideParent01Syntaxe() {
$info = array('nom' => 'hybride_parent_01 -> syntaxe',
'description' => "Le champ hybride_parent_01 contient soit :\n".
" - une valeur vide.\n".
" - un nombre",
" - une valeur vide,\n".
" - un nombre.",
'resultat' => false);
// Réalisation du test
447,8 → 447,8
private function testerSynonymeOrthographiqueExistence() {
$info = array('nom' => 'synonyme_orthographique -> existence',
'description' => "Si le champ synonyme_orthographique contient un nombre alors il doit correspondre à une valeur du champ ".
"num_nom.",
'description' => "Si le champ synonyme_orthographique contient un nombre alors il doit correspondre ".
"à une valeur du champ num_nom.",
'resultat' => false);
// Réalisation du test
476,8 → 476,8
private function testerSynonymeOrthographiqueSyntaxe() {
$info = array('nom' => 'synonyme_orthographique -> syntaxe',
'description' => "Le champ synonyme_orthographique contient soit :\n".
" - une valeur vide.\n".
" - un nombre",
" - une valeur vide,\n".
" - un nombre.",
'resultat' => false);
// Réalisation du test
505,8 → 505,8
private function testerSynonymeMalAppliqueSyntaxe() {
$info = array('nom' => 'synonyme_mal_applique -> syntaxe',
'description' => "Le champ synonyme_mal_applique contient soit :\n".
" - une valeur vide.\n".
" - le chiffre 1",
" - une valeur vide,\n".
" - le chiffre 1.",
'resultat' => false);
// Réalisation du test
535,8 → 535,8
private function testerSynonymeDouteuxSyntaxe() {
$info = array('nom' => 'synonyme_douteux -> syntaxe',
'description' => "Le champ synonyme_douteux contient soit :\n".
" - une valeur vide.\n".
" - le chiffre 1",
" - une valeur vide,\n".
" - le chiffre 1.",
'resultat' => false);
// Réalisation du test
624,9 → 624,9
private function testerSynonymeProparteSyntaxe() {
$info = array('nom' => 'synonyme_proparte -> syntaxe',
'description' => "Le champ synonyme_proparte contient soit :\n".
" - une valeur vide.\n".
" - un nombre.\n".
" - une suite de nombre séparés par des virgules.",
" - une valeur vide,\n".
" - un nombre,\n".
" - une suite de nombres séparés par des virgules.",
'resultat' => false);
// Réalisation du test
682,7 → 682,8
private function testerBasionymeSyntaxe() {
$info = array('nom' => 'basionyme -> syntaxe',
'description' => "Le champ basionyme contient :\n".
" - un nombre ou une valeur vide.\n",
" - une valeur vide,\n".
" - un nombre.",
'resultat' => false);
// Réalisation du test
741,7 → 742,8
private function testerHomonymieSyntaxe() {
$info = array('nom' => 'homonyme -> syntaxe',
'description' => "Le champ homonyme contient :\n".
" - le chiffre 1 ou une valeur vide.\n",
" - une valeur vide,\n".
" - le chiffre 1.",
'resultat' => false);
// Réalisation du test
770,19 → 772,19
$info = array('nom' => 'biblio_origine -> syntaxe',
'description' => "Le champ biblio_origine se compose de plusieurs parties séparées par des caractères ".
"précis qui sont dans l'ordre de gauche à droite :\n".
" - Éventuellement le mot « in » suivi d'un intitulé auteur (utilisé pour indiquer l'intitulé auteur de ".
"l'ouvrage global dans lequel la publication est parue).\n".
" - point-virgule « ; » (si l'info précédent a été renseignée)\n".
" - Abréviation ou nom de l'ouvrage ou de la revue selon le standard en vigueur dans le code du nom. ".
"Cette information ne doit pas contenir de caractère virgule « , ».\n".
" - virgule « , »\n".
" - Les informations permettant d'identifier plus précisément le document contenant le nom... ".
"Par exemple, l'éditeur, le tome, le numéro d'édition, le volume... séparées par des virgules ou d'autres ".
" - éventuellement, le mot « in » suivi d'un intitulé auteur (utilisé pour indiquer l'intitulé auteur de ".
"l'ouvrage dans lequel la publication est parue),\n".
" - point-virgule « ; » (si l'info précédent a été renseignée),\n".
" - abréviation, ou nom, de l'ouvrage ou de la revue selon le standard en vigueur dans le code du nom. ".
"Cette information ne doit pas contenir de caractère virgule « , »,\n".
" - virgule « , »,\n".
" - informations permettant d'identifier plus précisément le document contenant le nom... ".
"(par exemple, l'éditeur, le tome, le numéro d'édition, le volume...) séparées par des virgules ou d'autres ".
"caractères sauf deux points « : ».\n".
" - deux points « : »\n".
" - la page contenant la publication du nom ou un ensemble de page (première et dernière page de ".
"l'ensemble séparées par un tiret « - »). Quelques fois des numéros ou d'autres informations indiquant ".
"dans le document la position du nom. Le tiret « - » doit toujours servir à séparer un ensemble.",
" - deux points « : »,\n".
" - numéro(s) de la page contenant la publication du nom ou de l'ensemble de pages (première et dernière ".
"pages de l'ensemble séparées par un tiret « - »). Quelques fois des numéros ou d'autres informations indiquant ".
"la position du nom dans le document. Le tiret « - » doit toujours servir à séparer un ensemble.",
'resultat' => false);
// Réalisation du test
811,8 → 813,8
private function testerAnneeSyntaxe() {
$info = array('nom' => 'annee -> syntaxe',
'description' => "Le champ annee doit :\n".
" - contenir un nombre de 4 chiffre\n".
" - être supérieur ou égal à 1753 ",
" - contenir un nombre de 4 chiffres,\n".
" - être supérieur ou égal à 1753.",
'resultat' => false);
// Réalisation du test
840,8 → 842,9
private function testerAuteurSyntaxe() {
$info = array('nom' => 'auteur -> syntaxe',
'description' => "Le champ auteur doit :\n".
" - contenir l'intitulé complet des noms de l'auteur ou des auteurs ayant publiés à l'origine la combinaison latine courante.\n".
" - ou débuter par le mot « sensu » et contient l'intitulé complet des noms de l'auteur ou des auteurs ayant publiés un nom dont la description ne correspond pas à celle de l'auteur ou des auteurs d'origine.\n".
" - contenir l'intitulé complet des noms de l'auteur, ou des auteurs, ayant publié à l'origine la combinaison latine courante.\n".
" - OU débuter par le mot « sensu » et contenir l'intitulé complet des noms de l'auteur, ou des auteurs, ".
"ayant publié un nom dont la description ne correspond pas à celle de l'auteur, ou des auteurs, d'origine.\n".
" - se composer de caractères alphabétiques (A-Z, a-z), incluant les signes diacritiques, le symbole point (.), les paires de parenthèses ( () ), les apostrophes, l'esperluette (&) et l'espace ( ).\n".
" - contenir, si nécessaire, des abréviations de noms d'auteurs respectant les standards.\n".
" - contenir une translittération des noms d'alphabet cyrillique, arabe, chinois... en alphabet latin.\n".
906,7 → 909,7
private function testerNomCommercialPresenceCultivar() {
$info = array('nom' => 'nom_commercial -> groupe_cultivar OU cultivar non vide',
'description' => "Si le champ nom_commercial contier un nom commercial alors le champ cultivar OU ".
'description' => "Si le champ nom_commercial contient un nom commercial alors le champ cultivar OU ".
"cultivar_groupe ne doit pas être vide.",
'resultat' => false);
933,13 → 936,13
private function testerCultivarSyntaxe() {
$info = array('nom' => 'cultivar -> syntaxe',
'description' => "Le champ cultivar_groupe doit contenir :\n".
" - un nom de cultivar conforme aux règles du Code Internationnal de Nomenclature des Plantes ".
"Cultivées (CINPC) qui se compose de caractères alphanumériques (A-Z,a-z et 0-9) incluant ".
"signes diacritiques et marques de ponctuations.\n".
" - un nom en alphabet latin ce qui implique une translittération des noms d'alphabet cyrillique, ".
"arabe, chinois...\n".
" - une lettre majuscule obligatoire pour le premier caractère du premier mot et pour les autres mots ".
"importants mais pas pour les mots mineurs.\n".
" - un nom de cultivar conforme aux règles du Code Internationnal de Nomenclature \n".
" des Plantes Cultivées (CINPC), c.-à-d. composer de caractères alphanumériques \n".
" (A-Z,a-z et 0-9) incluant signes diacritiques et marques de ponctuations.\n".
" - un nom en alphabet latin, ce qui implique une translittération des noms d'alphabet \n".
" cyrillique, arabe, chinois...\n".
" - une lettre majuscule obligatoire pour le premier caractère du premier mot et pour \n".
" les autres mots importants mais pas pour les mots mineurs.\n".
"Ne doit pas contenir :\n".
" - cv., convar. ou de guillemets simples (').\n",
'resultat' => false);
997,10 → 1000,10
private function testerGroupeCultivarSyntaxe() {
$info = array('nom' => 'cultivar_groupe -> syntaxe',
'description' => "Le champ cultivar_groupe doit contenir un nom de groupe de cultivar conforme aux règles ".
"du code des plantes cultivées qui se compose de caractères alphanumériques (A-Z,a-z et 0-9) incluant ".
"du code des plantes cultivées, c.-à-d. composer de caractères alphanumériques (A-Z,a-z et 0-9) incluant ".
"signes diacritiques et marques de ponctuations.\n".
"Il ne doit pas contenir le mot Groupe, l'abbréviation «gp» ou des parenthèses.\n".
"Il peut contir à la fin l'abréviation «gx» pour distinguer les groupes des grex.",
"Il peut se terminer par l'abréviation «gx» pour distinguer les groupes des grex.",
'resultat' => false);
// Réalisation du test
1055,8 → 1058,8
private function testerEpitheteInfraSpEspaces() {
$info = array('nom' => 'epithete_infra_sp -> espaces en trop',
'description' => "Le champ epithete_infra_sp ne doit pas contenir d'espace avant ou aprés le nom.\n".
"Si des espaces sont compris dans la valeur du champ, il ne doit pas y avoir plusieurs espaces consécutifs.",
'description' => "Le champ epithete_infra_sp ne doit pas contenir d'espace avant ou après le nom.\n".
"Si des espaces sont compris dans la valeur du champ, il ne doit pas en avoir plusieurs consécutifs.",
'resultat' => false);
// Réalisation du test
1085,11 → 1088,11
private function testerEpitheteInfraSpSyntaxe() {
$info = array('nom' => 'epithete_infra_sp -> syntaxe',
'description' => "Le champ epithete_infra_sp peut contenir :\n".
" - un mot unique composé de lettres minuscules avec ou sans tréma (¨) et de tirets (-). \n".
" - un mot unique composé de lettres minuscules, avec ou sans tréma (¨), et de tirets (-). \n".
" Il commence par une lettre minuscule (avec ou sans tréma).\n".
" Il peut être précédé par le signe + ou la lettre x suivi d'un espace.\n".
" - une formule d'hybridité composée d'une série de noms d'espèce ou d'infra espèce (au moins 2) séparés entre eux \n".
" par la lettre x entourée de caractères espaces.",
" - une formule d'hybridité composée d'une série de noms d'espèce ou d'infra espèce \n".
" (au moins 2) séparés entre eux par la lettre x entourée de caractères espaces.",
'resultat' => false);
// Réalisation du test
1174,8 → 1177,8
private function testerTypeEpitheteSyntaxe() {
$info = array('nom' => 'type_epithete -> syntaxe',
'description' => "Le champ type_epithete doit contenir un mot unique composé de lettres minuscules sans ".
" accents et de tirets (-). Il commence par une lettre minuscule sans accent.",
'description' => "Le champ type_epithete doit contenir un mot unique composé de lettres minuscules, sans ".
" accents, et de tirets (-). Il commence par une lettre minuscule sans accent.",
'resultat' => false);
// Réalisation du test
1243,7 → 1246,8
private function testerNomDesChamps($colonnes) {
$info = array('nom' => 'Structure -> noms des champs',
'description' => 'Les champs de la table contenant le référentiel doivent être conforme à ceux définit par le manuel technique.',
'description' => 'Les noms des champs de la table contenant le référentiel doivent être conformes à ceux '.
'définis par le manuel technique.',
'resultat' => false);
$champs_attendus = explode(',', $this->manuel['champs']);
1271,7 → 1275,8
private function testerTypeDesChamps($colonnes) {
$info = array('nom' => 'Structure -> types des champs',
'description' => 'Les types des champs de la table contenant le référentiel doivent être conforme à ceux définit par le manuel technique.',
'description' => 'Les types des champs de la table contenant le référentiel doivent être conformes à ceux '.
'définis par le manuel technique.',
'resultat' => false);
$champs_attendus = explode(',', $this->manuel['champs_type']);
1311,8 → 1316,7
private function testerTailleDesChamps($colonnes, $analyses) {
$info = array('nom' => 'Structure -> champs tronqués',
'description' => "Vérifie que le risque éventuel que des données de type texte insérées ".
"dans la table aient pu être tronquées lors de leur insertion.\n".
'description' => "Evalue le risque que des données de type texte aient pu être tronquées lors de leur insertion.\n".
"Un résultat de type KO ne signifie pas forcément un problème à résoudre mais attire l'attention du coordinateur ".
"sur un problème éventuel.",
'resultat' => false);
1437,7 → 1441,7
private function testerTaxSupPourTaxon() {
$info = array('nom' => 'Classification -> uniquement pour les taxons',
'description' => "Seul les enregistrements représentant un taxon doivent posséder une valeur dans le champ num_tax_sup.\n".
'description' => "Seuls les enregistrements représentant un taxon doivent posséder une valeur dans le champ num_tax_sup.\n".
"Si num_nom_retenu est différent de num_nom (= nom synonyme) alors num_tax_sup doit être vide.",
'resultat' => false);
1461,7 → 1465,7
private function testerExitenceTaxonSuperieur() {
$info = array('nom' => 'Classification -> existence du taxon supérieur',
'description' => "Pour chaque enregistrement représentant un taxon doit posséder un taxon supérieur sauf la racine de la classification.",
'description' => "Chaque enregistrement représentant un taxon doit posséder un taxon supérieur sauf la racine de la classification.",
'resultat' => false);
// Réalisation du test
1486,7 → 1490,7
private function testerClassificationRang() {
$info = array('nom' => 'Classification -> taxon supérieur avec rang inférieur',
'description' => "Pour chaque enregistrement représentant un taxon, chaque taxon supérieur doit avoir un rang inférieur au taxon courant.",
'description' => "Pour chaque enregistrement représentant un taxon, le taxon supérieur doit avoir un rang inférieur au taxon courant.",
'resultat' => false);
// Réalisation du test
1514,7 → 1518,7
private function testerClassification() {
$info = array('nom' => 'Classification -> racine liée à chaque noeud',
'description' => "Pour chaque enregistrement, la classification doit pouvoir être remonté jusqu'à un même nom unique possédant une valeur num_tax_sup de 0.",
'description' => "Pour chaque enregistrement, la classification doit pouvoir être remontée jusqu'à un nom unique possédant une valeur num_tax_sup de 0.",
'resultat' => false);
// Réalisation du test
1576,7 → 1580,7
private function testerRang() {
$info = array('nom' => 'rang',
'description' => "Le rang doit correspondre à un valeur numérique définit dans le manuel.",
'description' => "Le rang doit correspondre à une valeur numérique définie dans le manuel.",
'resultat' => false);
$rangs = array_flip(explode(',', $this->manuel['rangs']));
1601,7 → 1605,7
private function testerNomCompletSupraGenerique() {
$info = array('nom' => 'nom_sci -> noms supra-génériques',
'description' => "Si le rang est < à {$this->manuel['rang_genre']} le nom_sci doit correspondre à la valeur du champ nom_supra_generique. ".
'description' => "Si le rang est < à {$this->manuel['rang_genre']}, le nom_sci doit correspondre à la valeur du champ nom_supra_generique. ".
"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
'resultat' => false);
1632,7 → 1636,7
private function testerNomCompletGenre() {
$info = array('nom' => 'nom_sci -> noms de genres',
'description' => "Si le rang est = à {$this->manuel['rang_genre']} le nom_sci doit correspondre à la valeur du champ genre. ".
'description' => "Si le rang est = à {$this->manuel['rang_genre']}, le nom_sci doit correspondre à la valeur du champ genre. ".
"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
'resultat' => false);
1663,7 → 1667,8
private function testerNomCompletInfraGenre() {
$info = array('nom' => 'nom_sci -> noms infra-génériques',
'description' => "Si le rang est > à {$this->manuel['rang_genre']} et < à {$this->manuel['rang_sp']} le nom_sci doit correspondre à une des formules suivantes : \n".
'description' => "Si le rang est > à {$this->manuel['rang_genre']} et < à {$this->manuel['rang_sp']},".
" le nom_sci doit correspondre à une des formules suivantes : \n".
" genre + ' ' + type_epithete + ' ' + epithete_infra_generique \n".
" genre + ' ' + epithete_infra_generique + ' ' + type_epithete=agg. \n".
"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
1706,7 → 1711,7
private function testerNomCompletEspece() {
$info = array('nom' => "nom_sci -> noms d'espèce",
'description' => "Si le rang est = à {$this->manuel['rang_sp']} le nom_sci doit correspondre à la formule : \n".
'description' => "Si le rang est = à {$this->manuel['rang_sp']}, le nom_sci doit correspondre à la formule : \n".
" genre + ' ' + epithete_sp \n".
"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
'resultat' => false);
1740,7 → 1745,7
private function testerNomCompletInfraSpecifique() {
$info = array('nom' => 'nom_sci -> noms infra-spécifiques',
'description' => "Si le rang est > à {$this->manuel['rang_sp']} le nom_sci doit correspondre à la formule : \n".
'description' => "Si le rang est > à {$this->manuel['rang_sp']}, le nom_sci doit correspondre à la formule : \n".
" genre + ' ' + epithete_sp + ' ' + type_epithete + ' ' + epithete_infra_generique\n".
"Les valeurs des champs cultivar_groupe, cultivar et nom_commercial peuvent s'y ajouter.",
'resultat' => false);
1776,7 → 1781,7
private function testerNomSupraGeneriqueEspaces() {
$info = array('nom' => 'nom_supra_generique -> espaces en trop',
'description' => "Le champ nom_supra_generique ne doit pas contenir d'espace avant ou aprés le nom.",
'description' => "Le champ nom_supra_generique ne doit pas contenir d'espace avant ou après le nom.",
'resultat' => false);
// Réalisation du test
1804,7 → 1809,8
private function testerNomSupraGeneriqueSyntaxe() {
$info = array('nom' => 'nom_supra_generique -> syntaxe',
'description' => "Le champ nom_supra_generique contient un mot composé de lettres minuscules avec ou sans tréma (¨) et de tirets (-). \n".
'description' => "Le champ nom_supra_generique contient un mot composé de lettres minuscules, avec ou ".
"sans tréma (¨), et de tirets (-). \n".
"La première lettre (avec ou sans tréma) du mot doit être en majuscule.",
'resultat' => false);
1860,8 → 1866,8
private function testerGenreEspaces() {
$info = array('nom' => 'genre -> espaces en trop',
'description' => "Le champ genre ne doit pas contenir d'espace avant ou aprés le nom.\n".
"Si des espaces sont compris dans la valeur du champ, il ne doit pas y avoir plusieurs espaces consécutifs.",
'description' => "Le champ genre ne doit pas contenir d'espace avant ou après le nom.\n".
"Si des espaces sont compris dans la valeur du champ, il ne doit pas en avoir plusieurs consécutifs.",
'resultat' => false);
// Réalisation du test
1890,11 → 1896,11
private function testerGenreSyntaxe() {
$info = array('nom' => 'genre -> syntaxe',
'description' => "Le champ genre peut contenir :\n".
" - un mot unique composé de lettres minuscules avec ou sans tréma (¨) et de tirets (-). \n".
" Il commence par une lettre majuscule (avec ou sans tréma).".
" Il peut être précédé par le signe + ou la lettre x suivi d'un espace.\n".
" - une formule d'hybridité composée d'une série de noms de genre (au moins 2) séparés entre eux \n".
" par la lettre x entourée de caractères espaces.",
" - un mot unique composé de lettres minuscules, avec ou sans tréma (¨), et de tirets (-). \n".
" Il commence par une lettre majuscule (avec ou sans tréma) et peut être précédé par \n".
" le signe + ou la lettre x suivi d'un espace.\n".
" - une formule d'hybridité composée d'une série de noms de genre (au moins 2) séparés\n ".
" entre eux par la lettre x entourée de caractères espaces.",
'resultat' => false);
// Réalisation du test
1952,7 → 1958,7
private function testerEpitheteInfraGeneriqueSyntaxe() {
$info = array('nom' => 'epithete_infra_generique -> syntaxe',
'description' => "Le champ epithete_infra_generique est composé de lettres minuscules avec ou sans tréma (¨) et de tirets (-). \n".
'description' => "Le champ epithete_infra_generique est composé de lettres minuscules, avec ou sans tréma (¨), et de tirets (-). \n".
"La première lettre (avec ou sans tréma) doit être en majuscule.",
'resultat' => false);
1981,7 → 1987,7
private function testerEpitheteInfraGeneriqueRang() {
$info = array('nom' => "epithete_infra_generique -> {$this->manuel['rang_genre']} < rang < {$this->manuel['rang_sp']}",
'description' => "Si le champ epithete_infra_generique n'est pas vide alors le rang du nom doit être compris \n".
'description' => "Si le champ epithete_infra_generique n'est pas vide alors le rang du nom doit être compris ".
"entre {$this->manuel['rang_genre']} et {$this->manuel['rang_sp']}.",
'resultat' => false);
2009,7 → 2015,7
private function testerEpitheteInfraGeneriqueEspaces() {
$info = array('nom' => 'epithete_infra_generique -> espaces en trop',
'description' => "Le champ epithete_infra_generique ne doit pas contenir d'espace avant ou aprés sa valeur.",
'description' => "Le champ epithete_infra_generique ne doit pas contenir d'espace avant ou après sa valeur.",
'resultat' => false);
// Réalisation du test
2037,8 → 2043,8
private function testerEpitheteSpEspaces() {
$info = array('nom' => 'epithete_sp -> espaces en trop',
'description' => "Le champ epithete_sp ne doit pas contenir d'espace avant ou aprés le nom.\n".
"Si des espaces sont compris dans la valeur du champ, il ne doit pas y avoir plusieurs espaces consécutifs.",
'description' => "Le champ epithete_sp ne doit pas contenir d'espace avant ou après le nom.\n".
"Si des espaces sont compris dans la valeur du champ, il ne doit pas en avoir plusieurs consécutifs.",
'resultat' => false);
// Réalisation du test
2070,9 → 2076,10
" - un mot unique composé de lettres minuscules [a-z] incluant les caractères [ëï-]. \n".
" Il commence par une lettre minuscule [a-zëï].\n".
" Il peut être précédé par le signe + ou la lettre x suivi d'un espace.\n".
" - un mot contenant sp. suivi d'un ou plusieurs caractères numériques (1-9) ou d'un seul caractère majuscule (A-Z) \n".
" - une formule d'hybridité composée d'une série de noms d'espèce (au moins 2) séparés entre eux \n".
" par la lettre x entourée de caractères espaces.",
" - un mot contenant sp. suivi d'un ou plusieurs caractères numériques (1-9) \n".
" ou d'un seul caractère majuscule (A-Z) \n".
" - une formule d'hybridité composée d'une série de noms d'espèce (au moins 2) \n".
" séparés entre eux par la lettre x entourée de caractères espaces.",
'resultat' => false);
// Réalisation du test