Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 157 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
153 jpm 1
<?php
2
include_once dirname(__FILE__).'/ResultatFormateurCommun.php';
3
include_once dirname(__FILE__).'/../../../modules/resultat/DecompoFormateur.php';
4
 
5
class DecompoFormateurTest extends ResultatFormateurCommun {
6
 
7
	public function testerFormater() {
8
		$formateur = $this->initialiserDecompoFormateur();
9
 
10
		$formateur->formater();
11
		$infos = $formateur->getTplInfos();
12
 
13
		$this->assertArrayHasKey('noms', $infos, print_r($infos, true));
14
		foreach ($infos['noms'] as $id => $nom) {
15
			$this->assertTrue(is_int($id), "L'id '$id' doit être un nombre entier.");
16
			$this->assertCount(8, $nom);
17
			$this->assertArrayHasKey('nomSci', $nom, print_r($infos, true));
18
			$this->assertFalse(empty($nom['nomSci']), print_r($infos, true));
19
			$this->assertArrayHasKey('retenu', $nom, print_r($infos, true));
20
			$this->assertArrayHasKey('auteur', $nom, print_r($infos, true));
21
			$this->assertArrayHasKey('annee', $nom, print_r($infos, true));
22
			$this->assertArrayHasKey('biblio', $nom, print_r($infos, true));
23
			$this->assertArrayHasKey('addendum', $nom, print_r($infos, true));
24
			$this->assertArrayHasKey('nn', $nom, print_r($infos, true));
25
			$this->assertTrue(is_int($nom['nn']), "nn '{$nom['nn']}' doit être un nombre entier.");
26
			$this->assertArrayHasKey('urlFiche', $nom, print_r($infos, true));
27
			$urlFicheAttendue = sprintf(self::TPL_URL_FICHE, $id);
28
			$this->assertEquals($urlFicheAttendue, $nom['urlFiche'], print_r($infos, true));
29
		}
30
	}
31
 
32
	public function testerTrier() {
33
		$formateur = $this->initialiserDecompoFormateur();
34
 
35
		$formateur->formater();
36
		$formateur->trier();
37
		$infos = $formateur->getTplInfos();
38
 
39
		$this->assertArrayHasKey('noms', $infos, print_r($infos, true));
40
		$ordreClesAttendu = array(86402, 25024, 25025, 75113, 103076, 25026, 25027, 25028);
41
		$ordreClesTriees = array_keys($infos['noms']);
42
		$this->assertEquals($ordreClesAttendu, $ordreClesTriees, print_r($ordreClesTriees, true));
43
	}
44
 
45
	public function testerSurligner() {
46
		$formateur = $this->initialiserDecompoFormateur();
47
 
48
		$formateur->formater();
49
		$formateur->surligner();
50
		$infos = $formateur->getTplInfos();
51
 
52
		$this->assertArrayHasKey('noms', $infos, print_r($infos, true));
53
		foreach ($infos['noms'] as $id => $nom) {
54
			$this->assertArrayHasKey($id, $infos['noms'], print_r($infos, true));
55
			$this->assertArrayHasKey('nomSci', $infos['noms'][$id], print_r($infos, true));
56
			$this->assertContains('<span class="surlignage">Eritrichium</span>', $infos['noms'][$id]['nomSci'], print_r($infos, true));
57
		}
58
	}
59
 
60
	private function initialiserDecompoFormateur($masque = 'eritrichium') {
61
		$parametres = $this->getParametres('decompo', $masque);
62
		$resultats = $this->getResultatsPourMasque($masque);
63
		$surligneur = $this->getSurligneur();
64
		$trieur = $this->getTrieur();
65
		$appsUrls = $this->getAppUrls();
66
		return new DecompoFormateur($parametres, $resultats, $surligneur, $trieur, $appsUrls);
67
	}
68
}
69
?>