Subversion Repositories Applications.referentiel

Rev

Rev 318 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 318 Rev 364
Line 1051... Line 1051...
1051
	 * Test #41
1051
	 * Test #41
1052
	 */
1052
	 */
1053
	private function testerEpitheteInfraSpSyntaxe() {
1053
	private function testerEpitheteInfraSpSyntaxe() {
1054
		$noms_erreur = array();
1054
		$noms_erreur = array();
1055
		foreach ($this->noms as &$nom) {
1055
		foreach ($this->noms as &$nom) {
-
 
1056
			if ($nom["rang"] != 450) {
1056
			if ($nom['epithete_infra_sp'] != '') {
1057
				if ($nom['epithete_infra_sp'] != '') {
1057
				$mots = explode(' ', $nom['epithete_infra_sp']);
1058
					$mots = explode(' ', $nom['epithete_infra_sp']);
1058
				$hybride_contient_abbreviation_infra_sp = false;
1059
					$hybride_contient_abbreviation_infra_sp = false;
1059
				$formule_hybridite = (strpos($nom['epithete_infra_sp'], ' x ') !== false);				
1060
					$formule_hybridite = (strpos($nom['epithete_infra_sp'], ' x ') !== false);				
1060
				foreach ($mots as $mot) {
1061
					foreach ($mots as $mot) {
1061
					if($formule_hybridite && $this->verifierEstAbbreviationInfraSp($mot)) {
1062
						if($formule_hybridite && $this->verifierEstAbbreviationInfraSp($mot)) {
1062
						$hybride_contient_abbreviation_infra_sp = true;
1063
							$hybride_contient_abbreviation_infra_sp = true;
-
 
1064
						}
-
 
1065
						$formule_hybridite_valide = $this->verifierEpitheteGenre($mot) || $this->verifierEpitheteSp($mot) || $hybride_contient_abbreviation_infra_sp;
-
 
1066
						if (!(preg_match('/^[+x]$/', $mot) || $this->verifierTypeEpithete($mot) || $this->verifierEpitheteSp($mot) ||
-
 
1067
							$formule_hybridite_valide)) {
-
 
1068
							$epithete_traite = $this->repererEspace($nom['epithete_infra_sp']);
-
 
1069
							$noms_erreur[] = array($nom['num_nom'], $epithete_traite, $nom['exclure_taxref']);
-
 
1070
							$this->ajouterNumNomErreursTest($nom['num_nom']);
-
 
1071
							break;
-
 
1072
						}
1063
					}
1073
					}
1064
					$formule_hybridite_valide = $this->verifierEpitheteGenre($mot) || $this->verifierEpitheteSp($mot) || $hybride_contient_abbreviation_infra_sp;
-
 
1065
					if (!(preg_match('/^[+x]$/', $mot) || $this->verifierTypeEpithete($mot) || $this->verifierEpitheteSp($mot) ||
-
 
-
 
1074
					
1066
						$formule_hybridite_valide)) {
1075
					if($formule_hybridite && !$hybride_contient_abbreviation_infra_sp) {
1067
						$epithete_traite = $this->repererEspace($nom['epithete_infra_sp']);
1076
						$epithete_traite = $this->repererEspace($nom['epithete_infra_sp']);
1068
						$noms_erreur[] = array($nom['num_nom'], $epithete_traite, $nom['exclure_taxref']);
1077
						$noms_erreur[] = array($nom['num_nom'], $epithete_traite, $nom['exclure_taxref']);
1069
						$this->ajouterNumNomErreursTest($nom['num_nom']);
1078
						$this->ajouterNumNomErreursTest($nom['num_nom']);
1070
						break;
-
 
1071
					}
1079
					}
1072
				}
1080
				}
1073
				
-
 
1074
				if($formule_hybridite && !$hybride_contient_abbreviation_infra_sp) {
-
 
1075
					$epithete_traite = $this->repererEspace($nom['epithete_infra_sp']);
-
 
1076
					$noms_erreur[] = array($nom['num_nom'], $epithete_traite, $nom['exclure_taxref']);
-
 
1077
					$this->ajouterNumNomErreursTest($nom['num_nom']);
-
 
1078
				}
-
 
1079
			}
1081
			}
1080
		}
1082
		}
1081
		return $noms_erreur;
1083
		return $noms_erreur;
1082
	}
1084
	}
Line 1685... Line 1687...
1685
	}
1687
	}
Line 1686... Line 1688...
1686
	
1688
	
1687
	/**
1689
	/**
1688
	* Test #79
1690
	* Test #79
-
 
1691
	*/
-
 
1692
	private function testerNomSupPourSynonyme() {
-
 
1693
		$noms_erreur = array();
-
 
1694
		foreach ($this->noms as &$nom) {
-
 
1695
			if ($nom['num_nom_retenu'] = $nom['num_nom'] && $nom['num_nom_sup'] != '') {
-
 
1696
				$noms_erreur[] = array($nom['num_nom'], $nom['num_nom_sup'], $nom['exclure_taxref']);
-
 
1697
				$this->ajouterNumNomErreursTest($nom['num_nom']);
-
 
1698
			}
-
 
1699
		}
-
 
1700
		return $noms_erreur;
-
 
1701
	}
-
 
1702
	
-
 
1703
	/**
-
 
1704
	 * Test #80
-
 
1705
	 */
-
 
1706
	private function testerExistenceNomSuperieur() {
-
 
1707
		$noms_erreur = array();
-
 
1708
		foreach ($this->noms as &$nom) {
-
 
1709
				if ($nom['num_nom_sup'] != 0 && !isset($this->noms[$nom['num_nom_sup']])) {
-
 
1710
					$noms_erreur[] = array($nom['num_nom'], $nom['num_nom_sup'], $nom['exclure_taxref']);
-
 
1711
					$this->ajouterNumNomErreursTest($nom['num_nom']);
-
 
1712
				}
-
 
1713
		}
-
 
1714
		return $noms_erreur;
-
 
1715
	}
-
 
1716
	
-
 
1717
	/**
-
 
1718
	* Test #81
1689
	*/
1719
	*/
1690
	private function testerExclureTaxRefPresence() {
1720
	private function testerExclureTaxRefPresence() {
1691
		$noms_erreur = array();
1721
		$noms_erreur = array();
1692
		foreach ($this->noms as &$nom) {
1722
		foreach ($this->noms as &$nom) {
1693
			// On vérifie tous les noms retenu nom exclus de taxref de rang inférieur ou égal à l'espèce
1723
			// On vérifie tous les noms retenu nom exclus de taxref de rang inférieur ou égal à l'espèce