initialiserDeterminationFormateur(); $Formateur->formater(); $infos = $Formateur->getTplInfos(); $this->assertArrayHasKey('noms', $infos, print_r($infos, true)); foreach ($infos['noms'] as $id => $nom) { $this->assertTrue(is_int($id), "L'id '$id' doit être un nombre entier."); $this->assertCount(2, $nom, "Le nom doit avoir 2 paramètres : nomSciRetenu et UrlFiche"); $this->assertArrayHasKey('nomSciRetenu', $infos['noms'][$id], print_r($infos, true)); $this->assertArrayHasKey('urlFiche', $infos['noms'][$id], print_r($infos, true)); $urlFicheAttendue = sprintf(ConsultationEflorePhpUnit::TPL_URL_FICHE, $id); $this->assertEquals($urlFicheAttendue, $infos['noms'][$id]['urlFiche'], print_r($infos, true)); } $this->assertArrayHasKey('synonymes', $infos, print_r($infos, true)); foreach ($infos['synonymes'] as $idNomRetenu => $synonymes) { foreach ($synonymes as $idSynonyme => $synonyme) { $this->assertCount(3, $synonyme, print_r($infos, true)); $this->assertArrayHasKey('nn', $synonyme, print_r($infos, true)); $this->assertTrue(is_int($synonyme['nn']), "La valeur nn (num_nom) '{$synonyme['nn']}' doit être un nombre entier."); $this->assertArrayHasKey('nomSci', $synonyme, print_r($infos, true)); $this->assertArrayHasKey('urlFiche', $synonyme, print_r($infos, true)); $urlSynoAttendue = sprintf(ConsultationEflorePhpUnit::TPL_URL_FICHE, $synonyme['nn']); $this->assertEquals($urlSynoAttendue, $synonyme['urlFiche'], print_r($infos, true)); } } $this->assertArrayHasKey('nomsSansCorrespondance', $infos, print_r($infos, true)); $this->assertEmpty($infos['nomsSansCorrespondance']); $this->assertArrayHasKey('imagesUrls', $infos, print_r($infos, true)); $this->assertTrue(is_array($infos['imagesUrls']), "'imagesUrls' doit être un tableau"); $this->assertArrayHasKey('72117', $infos['imagesUrls'], print_r($infos, true)); $this->assertArrayHasKey('72288', $infos['imagesUrls'], print_r($infos, true)); foreach ($infos['imagesUrls'] as $imgUrl) { $this->assertTrue(is_array($imgUrl), "Chaque taxon doit avoir un tableau d'url d'images"); foreach ($imgUrl as $url) { $this->assertRegExp('/^http:\/\/www\.tela-botanica\.org\/appli:cel-img:[0-9]{9}CS\.jpg$/', $url); } } } public function testerTrier() { $Formateur = $this->initialiserDeterminationFormateur(); $Formateur->formater(); $Formateur->trier(); $infos = $Formateur->getTplInfos(); $this->assertArrayHasKey('noms', $infos, print_r($infos, true)); $ordreClesAttendu = array(72288, 72201, 72117); $ordreClesTriees = array_keys($infos['noms']); $this->assertEquals($ordreClesAttendu, $ordreClesTriees, print_r($ordreClesTriees, true)); } public function testerSurligner() { $Formateur = $this->initialiserDeterminationFormateur(); $Formateur->formater(); $Formateur->surligner(); $infos = $Formateur->getTplInfos(); $this->assertArrayHasKey('noms', $infos, print_r($infos, true)); foreach ($infos['noms'] as $id => $nom) { $this->assertArrayHasKey($id, $infos['noms'], print_r($infos, true)); $this->assertArrayHasKey('nomSciRetenu', $infos['noms'][$id], print_r($infos, true)); $this->assertContains('Viola', $infos['noms'][$id]['nomSciRetenu'], print_r($infos, true)); } } private function initialiserDeterminationFormateur($masque = 'viola his') { $parametres = $this->getParametres('determination', $masque); $resultats = $this->getResultatsPourMasque($masque); $surligneur = $this->getSurligneur(); $trieur = $this->getTrieur(); $appsUrls = $this->getAppUrls(); $images = $this->getImagesService(); return new DeterminationFormateur($parametres, $resultats, $surligneur, $trieur, $appsUrls, null, $images); } private function getImagesService() { $retour = array( 'bdtfx.72117' => array( 'http://www.tela-botanica.org/appli:cel-img:000025491CS.jpg', 'http://www.tela-botanica.org/appli:cel-img:000025514CS.jpg', 'http://www.tela-botanica.org/appli:cel-img:000025520CS.jpg'), 'bdtfx.72288' => array( 'http://www.tela-botanica.org/appli:cel-img:000032710CS.jpg', 'http://www.tela-botanica.org/appli:cel-img:000032711CS.jpg', 'http://www.tela-botanica.org/appli:cel-img:000032712CS.jpg')); $Images = $this->getMock('Images', array('getUrlsImagesParIdsNoms'), array(), '', false); $Images->expects($this->any()) ->method('getUrlsImagesParIdsNoms') ->will($this->returnValue($retour)); return $Images; } } ?>