/tags/v5.0-agropyraie-20130830/services/tests/0.1/chorodep/ChorodepCartesTest.php |
---|
New file |
0,0 → 1,135 |
<?php |
require_once dirname(__FILE__).'/../ServiceEflorePhpUnit.php'; |
class ChorodepCartesTest extends ServiceEflorePhpUnit { |
private $retour = ''; |
private $svg = ''; |
public function __construct() { |
$this->projet = 'chorodep'; |
$this->service = 'cartes'; |
} |
public function setUp() { |
$this->retour = ''; |
$this->svg = ''; |
} |
public function testCarteGenerique() { |
$ressources = array(); |
$parametres = array('version.projet' => '2012.01'); |
$this->retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres); |
$this->verifierPresenceMessage("A implémenter : carte proportionnelle ensemble des infos"); |
} |
public function testCarteGeneriqueLegende() { |
$ressources = array('legende'); |
$parametres = array('version.projet' => '2012.01'); |
$this->retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres); |
$this->verifierPresenceMessage("A implémenter : légende carte proportionnelle ensemble des infos"); |
} |
public function testErreurRessource1() { |
$ressources = array('ressource1Erreur'); |
$parametres = array('version.projet' => '2012.01'); |
$this->retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres); |
$this->verifierPresenceMessage("La ressource n°1 '{$ressources[0]} indiquée n'est pas valable."); |
} |
public function testCarteSvgIdentifiants() { |
$ressourcesListe = array( |
array('3237'), |
array('nn:3237'), |
array('bdtfx.nn:3237') |
); |
$parametres = array('version.projet' => '2012.01', |
'retour' => 'image/svg+xml'); |
foreach ($ressourcesListe as $ressources) { |
$this->retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres); |
$this->chargerXml(); |
$this->etreSvg(); |
$this->verifierDepartementsPresence(array(63, 81)); |
} |
} |
public function testCarteSvgPlusieursLegendes() { |
$ressources = array('bdtfx.nn:71574'); |
$parametres = array('version.projet' => '2012.01', |
'retour' => 'image/svg+xml'); |
$this->retour = ServiceEflorePhpUnit::consulterBrut($this->service, $this->projet, $ressources, $parametres); |
$this->chargerXml(); |
$this->etreSvg(); |
$this->verifierDepartementsPresence(array('02', '07', '57', '67', '88', '68', '90', '25', '21', '39', '01', '74', '73', '38', '46', '83')); |
$this->verifierDepartementsPresenceAConfirmer(array('62', '71')); |
$this->verifierDepartementsDisparu(array('70')); |
$this->verifierDepartementsErreur(array('06')); |
} |
private function verifierPresenceMessage($messageAttendu) { |
$this->assertEquals($messageAttendu, $this->retour); |
} |
private function chargerXml() { |
$this->svg = new DOMDocument(); |
$chargement = $this->svg->loadXML($this->retour); |
$this->assertTrue($chargement); |
} |
private function etreSvg() { |
$racineElement = $this->svg->documentElement; |
$this->assertEquals('svg', $racineElement->tagName); |
} |
private function verifierDepartementsPresence($departements) { |
$this->verifierReglesCssCouleur('A0FF7D', $departements); |
} |
private function verifierDepartementsPresenceAConfirmer($departements) { |
$this->verifierReglesCssCouleur('FFFF32', $departements); |
} |
private function verifierDepartementsDouteux($departements) { |
$this->verifierReglesCssCouleur('FFCB30', $departements); |
} |
private function verifierDepartementsDisparu($departements) { |
$this->verifierReglesCssCouleur('F88017', $departements); |
} |
private function verifierDepartementsErreur($departements) { |
$this->verifierReglesCssCouleur('FF2850', $departements); |
} |
private function verifierDepartementsErreurAConfirmer($departements) { |
$this->verifierReglesCssCouleur('9F0016', $departements); |
} |
private function verifierReglesCssCouleur($couleur, $departements) { |
sort($departements); |
$cssRegles = $this->getListeReglesCss($departements); |
$cssAttendu = "$cssRegles{\nfill:#$couleur;\n}"; |
$cssPresent = $this->svg->getElementsByTagName('style')->item(0)->nodeValue; |
$this->assertContains($cssAttendu, $cssPresent); |
} |
private function getListeReglesCss($departements) { |
foreach ($departements as $id => $val) { |
$departements[$id] = '.departement'.$val; |
} |
$cssRegle = implode(', ', $departements); |
return $cssRegle; |
} |
} |
?> |
/tags/v5.0-agropyraie-20130830/services/tests/0.1/chorodep/ChorodepOntologiesTest.php |
---|
New file |
0,0 → 1,48 |
<?php |
require_once dirname(__FILE__).'/../ServiceEflorePhpUnit.php'; |
class ChorodepOntologiesTest extends ServiceEflorePhpUnit { |
public function __construct() { |
$this->projet = 'chorodep'; |
$this->service = 'ontologies'; |
} |
public function testRecherche() { |
$ressources = array(); |
$parametres = array(); |
$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres); |
$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres); |
$this->assertNotEmpty($retour, 'données absentes'); |
$this->assertArrayHasKey('total', $retour['entete'], "Le json ne contient pas d'attribut : total. Voir : $url"); |
$this->assertEquals('8', $retour['entete']['total'], "L'attribut 'total' devrait avoir la valeur '8'. Voir : $url"); |
$this->assertArrayHasKey('nom', $retour['resultat'][1], "Le json ne contient pas d'attribut : nom. Voir : $url"); |
$this->assertEquals('presenceChorologie', $retour['resultat'][1]['nom'], "L'attribut 'nom' devrait avoir la valeur 'presenceChorologie'. Voir : $url"); |
} |
public function testMasqueCode() { |
$ressources = array(); |
$parametres = array('masque.code' => '?'); |
$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres); |
$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres); |
$this->assertNotEmpty($retour, 'données absentes'); |
$this->assertArrayHasKey('total', $retour['entete'], "Le json ne contient pas d'attribut : total. Voir : $url"); |
$this->assertEquals('1', $retour['entete']['total'], "L'attribut 'total' devrait avoir la valeur '1'. Voir : $url"); |
$this->assertArrayHasKey('5', $retour['resultat'], "L'ontologie n°5 ne fait pas partie du résultat. Voir : $url"); |
$this->assertArrayHasKey('nom', $retour['resultat'][5], "Le json ne contient pas d'attribut : nom. Voir : $url"); |
$this->assertEquals('douteux', $retour['resultat'][5]['nom'], "L'attribut 'nom' devrait avoir la valeur 'douteux'. Voir : $url"); |
} |
public function testMasqueNom() { |
$ressources = array(); |
$parametres = array('masque.nom' => 'disparu'); |
$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres); |
$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres); |
$this->assertNotEmpty($retour, 'données absentes'); |
$this->assertArrayHasKey('total', $retour['entete'], "Le json ne contient pas d'attribut : total. Voir : $url"); |
$this->assertEquals('1', $retour['entete']['total'], "L'attribut 'total' devrait avoir la valeur '1'. Voir : $url"); |
$this->assertArrayHasKey('code', $retour['resultat'][6], "Le json ne contient pas d'attribut : code. Voir : $url"); |
$this->assertEquals('-|-', $retour['resultat'][6]['code'], "L'attribut 'code' devrait avoir la valeur '-|-'. Voir : $url"); |
} |
} |
?> |
/tags/v5.0-agropyraie-20130830/services/tests/0.1/chorodep/ChorodepObservationsTest.php |
---|
New file |
0,0 → 1,48 |
<?php |
require_once dirname(__FILE__).'/../ServiceEflorePhpUnit.php'; |
class ChorodepObservationsTest extends ServiceEflorePhpUnit { |
public function __construct() { |
$this->projet = 'chorodep'; |
$this->service = 'observations'; |
} |
public function testRecherche() { |
$ressources = array(); |
$parametres = array(); |
$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres); |
$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres); |
$this->assertNotEmpty($retour, print_r($retour, true)); |
$this->assertNotEmpty($retour['entete'], print_r($retour['entete'], true)); |
$this->assertEquals(20, $retour['entete']['total'], "L'attribut 'total' devrait avoir la valeur '20'. Voir : $url"); |
$this->assertEquals(20, count($retour['resultat']), "Il devrait y avoir '20' résultats. Voir : $url"); |
} |
public function testObservation() { |
$ressources = array("10:20"); |
$parametres = array(); |
$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres); |
$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres); |
$this->assertNotEmpty($retour, print_r($retour, true)); |
$this->assertArrayHasKey('type', $retour, "Le json ne contient pas d'attribut : type. Voir : $url"); |
$this->assertEquals('chorologie', $retour['type'], "L'attribut 'type' devrait avoir la valeur 'chorologie'. Voir : $url"); |
} |
public function testMasqueStation() { |
$ressources = array(); |
$parametres = array('masque.station' => '34', 'retour.format' => 'min'); |
$url = ServiceEflorePhpUnit::creerUrl($this->service, $ressources, $parametres); |
$retour = $this->consulterJson($this->service, $this->projet, $ressources, $parametres); |
$this->assertNotEmpty($retour, 'pas de resultat'.print_r($retour, true)); |
$this->assertNotEmpty($retour['entete'], 'pas d\'entete'.print_r($retour['entete'], true)); |
$this->assertEquals(20, $retour['entete']['total'], "L'attribut 'total' devrait avoir la valeur '20'. Voir : $url"); |
$this->assertEquals(20, count($retour['resultat']), "L'attribut 'total' devrait avoir la valeur '20'. Voir : $url"); |
$this->assertNotEmpty($retour['resultat']['197:34'], 'resultat 197:34 absent'.print_r($retour['resultat']['74929:03'], true)); |
/*$this->assertArrayHasKey('type', $retour['resultat']['74929:03'], "Le json ne contient pas d'attribut : type. Voir : $url"); |
$this->assertEquals('chorologie', $retour['resultat']['74929:03']['type'], "L'attribut 'type' devrait avoir la valeur 'chorologie'. Voir : $url");*/ |
// TODO: implémenter "chorodep/observations/10:25?masque.station=34&retour.format=min" |
} |
} |
?> |