Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ target/**
*.iws
/.idea/
/.settings
/.classpath
/.project
6 changes: 4 additions & 2 deletions src/main/java/fr/ybo/opendata/nantes/modele/Categorie.java
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,11 @@ public enum Categorie {
// Theme == DEPLACEMENT

PARKING(1001, "Parking"),
P_PLUS_R(1002, "Parking relais"),
BICLOO(1003, "Station Bicloo"),
PARKING_RELAIS(1002, "Parking relais"),
TRANSPORT_PART(1003, "Station Bicloo et Marguerite"),
POI_TRANSPORT(1004, "Transport en commun"),
PARKING_ENCLOS(1005, "Parc en Enclos"),
COVOITURAGE(1006, "Aire de covoiturage"),

// Theme == ACTION SOCIALE

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ public Date getDateDebut() {
/**
* Format des heures.
*/
private static final SimpleDateFormat SDF_TIME = new SimpleDateFormat("dd/MM/yyyy hh:mm");
private static final SimpleDateFormat SDF_TIME = new SimpleDateFormat("dd/MM/yyyy HH:mm");

/**
* @param dateDebut {@link InfoTrafic#dateDebut}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ public Date getLastUpdate() {
/**
* Format de lastUpdate.
*/
private static final SimpleDateFormat SDF_DATE = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
private static final SimpleDateFormat SDF_DATE = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");

/**
* @param lastUpdate {@link Itineraire#lastUpdate}.
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/fr/ybo/opendata/nantes/modele/Parking.java
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ public Date getLastUpdate() {
/**
* Format pour le champ Grp_horodatage.
*/
private static final SimpleDateFormat SDF_DATE = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
private static final SimpleDateFormat SDF_DATE = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");

/**
* @param lastUpdate {@link Parking#lastUpdate}.
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/fr/ybo/opendata/nantes/modele/Type.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,14 @@ public enum Type {

// Theme == DEPLACEMENT

SOUTERRAIN(100101, "Souterrain"),
ELEVATION(100102, "Elévation"),
MIXTE(100103, "Mixte"),
OUVRAGE(100201, "Ouvrage"),
ENCLOS(100202, "Enclos"),
LIBRE(100203, "Libre"),
BICLOO(100301, "Bicloo"),
MARGUERITE(100302, "Marguerite"),
AERIEN(100401, "Aérien"),
FLUVIAL(100402, "Fluvial"),
RAIL(100403, "Rail"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public class EquipementManager {
/**
* Encoding du fichier fournis par Nantes Métropole.
*/
private static final String CHARSET_NAME = "ISO-8859-15";
private static final String CHARSET_NAME = "UTF-8";

/**
* @deprecated Utilisation de l'injection
Expand Down
412 changes: 220 additions & 192 deletions src/main/resources/Equipements_publics_deplacement.csv

Large diffs are not rendered by default.

65 changes: 61 additions & 4 deletions src/test/java/fr/ybo/opendata/nantes/EquipementManagerTest.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package fr.ybo.opendata.nantes;

import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.*;

import java.util.Map;

Expand All @@ -13,6 +13,7 @@
import fr.ybo.opendata.nantes.modele.Categorie;
import fr.ybo.opendata.nantes.modele.Equipement;
import fr.ybo.opendata.nantes.modele.Theme;
import fr.ybo.opendata.nantes.modele.Type;
import fr.ybo.opendata.nantes.util.EquipementManager;

public class EquipementManagerTest {
Expand All @@ -28,18 +29,34 @@ protected void configure() {
}
});
}

/**
* Test qui permet de s'assurer que l'ensemble des types
* d'équipements sont couverts.
*/
@Test
public void testUnknown() {
Map<Integer, Equipement> map = EquipementManager.getInstance()
.getMapEquipements();

for (Equipement eq : map.values()) {
assertFalse(Theme.UNKNOWN == eq.getTheme());
assertFalse(Categorie.UNKNOWN == eq.getCategorie());
assertFalse(Type.UNKNOWN == eq.getType());
}
}

/**
* Vérification de la lecture des attributs d'un parking
*/
@Test
public void testParkingLoading() {
public void testParkingEnclos() {
Map<Integer, Equipement> map = EquipementManager.getInstance()
.getMapEquipements();
Equipement parkingFeydeau = map.get(3549);
assertEquals("Parking enclos Feydeau", parkingFeydeau.getNom());
assertEquals("Parc en enclos Feydeau", parkingFeydeau.getNom());
assertEquals(Theme.DEPLACEMENT, parkingFeydeau.getTheme());
assertEquals(Categorie.PARKING, parkingFeydeau.getCategorie());
assertEquals(Categorie.PARKING_ENCLOS, parkingFeydeau.getCategorie());
assertEquals(null, parkingFeydeau.getType());
assertEquals(47.211179655323, parkingFeydeau.getLatitude());
assertEquals(-1.558438729504, parkingFeydeau.getLongitude());
Expand All @@ -48,4 +65,44 @@ public void testParkingLoading() {
assertEquals("NANTES", parkingFeydeau.getCommune());
assertEquals("44000", parkingFeydeau.getCodePostal());
}

/**
* Vérification de la lecture des attributs d'un parking
*/
@Test
public void testParkingPR() {
Map<Integer, Equipement> map = EquipementManager.getInstance()
.getMapEquipements();
Equipement parkingPirmil = map.get(3197);
assertEquals("Parc relais tram Pirmil", parkingPirmil.getNom());
assertEquals(Theme.DEPLACEMENT, parkingPirmil.getTheme());
assertEquals(Categorie.PARKING_RELAIS, parkingPirmil.getCategorie());
assertEquals(Type.LIBRE, parkingPirmil.getType());
assertEquals(47.197358677638, parkingPirmil.getLatitude());
assertEquals(-1.541533594554, parkingPirmil.getLongitude());

assertEquals("Rue Esnoult des Châtelets", parkingPirmil.getAdresse());
assertEquals("NANTES", parkingPirmil.getCommune());
assertEquals("44200", parkingPirmil.getCodePostal());
}

/**
* Vérification de la lecture des attributs d'un parking
*/
@Test
public void testParkingOuvrage() {
Map<Integer, Equipement> map = EquipementManager.getInstance()
.getMapEquipements();
Equipement parkingPirmil = map.get(677);
assertEquals("Parking ouvrage Commerce", parkingPirmil.getNom());
assertEquals(Theme.DEPLACEMENT, parkingPirmil.getTheme());
assertEquals(Categorie.PARKING, parkingPirmil.getCategorie());
assertEquals(Type.SOUTERRAIN, parkingPirmil.getType());
assertEquals(47.213120285802, parkingPirmil.getLatitude());
assertEquals(-1.55771321969, parkingPirmil.getLongitude());

assertEquals("Place du Commerce", parkingPirmil.getAdresse());
assertEquals("NANTES", parkingPirmil.getCommune());
assertEquals("44000", parkingPirmil.getCodePostal());
}
}
8 changes: 4 additions & 4 deletions src/test/java/fr/ybo/opendata/nantes/OpenDataApiTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ protected void configure() {
*/
@Test
public void testGetParkings() throws ApiReseauException, ParseException {
SimpleDateFormat formatDate = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
SimpleDateFormat formatDate = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
openDataApi.setConnecteur(new FileConnecteur("/getDisponibiliteParkingsPublics.xml"));

List<Parking> parkings = openDataApi.getParkings();
Expand Down Expand Up @@ -126,7 +126,7 @@ public void testGetInfosTrafics() throws ApiReseauException, ParseException {
assertEquals("En raison de travaux rue Santos Dumont la ligne 96 est déviée le 22 et 23 novembre 2011.",
infoTrafic1.getResume());
assertEquals(infoTrafic1.getResume(), infoTrafic1.getTexteVocal());
SimpleDateFormat formatDate = new SimpleDateFormat("dd/MM/yyyy hh:mm");
SimpleDateFormat formatDate = new SimpleDateFormat("dd/MM/yyyy HH:mm");
assertEquals(formatDate.parse("22/11/2011 00:00"), infoTrafic1.getDateDebut());
assertEquals(formatDate.parse("23/11/2011 23:59"), infoTrafic1.getDateFin());
assertFalse(infoTrafic1.isTerminee());
Expand Down Expand Up @@ -156,7 +156,7 @@ public void testGetInfosTraficsTpsReel() throws ApiReseauException, ParseExcepti
assertEquals("En raison de travaux sur le Bd Marcel Paul les lignes de bus 73, 84 et 93 "
+ "sont déviées dans les deux sens.", infoTrafic1.getResume());
assertEquals(infoTrafic1.getResume(), infoTrafic1.getTexteVocal());
SimpleDateFormat formatDate = new SimpleDateFormat("dd/MM/yyyy hh:mm");
SimpleDateFormat formatDate = new SimpleDateFormat("dd/MM/yyyy HH:mm");
assertEquals(formatDate.parse("28/10/2010 00:00"), infoTrafic1.getDateDebut());
assertNull(infoTrafic1.getDateFin());
assertFalse(infoTrafic1.isTerminee());
Expand All @@ -179,7 +179,7 @@ public void testGetInfosTraficsTpsReel() throws ApiReseauException, ParseExcepti
public void testGetTempsParcours() throws ApiReseauException, ParseException {
openDataApi.setConnecteur(new FileConnecteur("/getTempsParcours.xml"));

SimpleDateFormat formatDate = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
SimpleDateFormat formatDate = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
List<Itineraire> itineraires = openDataApi.getTempsParcours();
assertEquals(2, itineraires.size());
assertEquals("011", itineraires.get(0).getIdentifiant());
Expand Down