static void Main(string[] args) { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; //récupère les coordonnées 7 rue hoche String latitude = "45.185476"; String longitude = "5.727772"; int distance = 400; //connexion à la 1ère api et suppression des doublons d'arrêts bus via méthode removeduplicate Unduplicate firstConnect = new Unduplicate(new Connexion()); Dictionary <string, List <string> > result = firstConnect.RemoveDuplicate(latitude, longitude, distance); //utilise la 2ème api pour avoir le détail des lignes et convertit en Json DataDetailsTransport dataDetailsTransport = new DataDetailsTransport(new Connexion()); //affichage du nouveau dictionnaire result avec les détails arrêt de bus via l'appel à la 2ème api foreach (KeyValuePair <string, List <string> > kvp in result) { Console.WriteLine("\nArret = " + kvp.Key); foreach (string line in kvp.Value) { Console.WriteLine(" " + dataDetailsTransport.GetDetailsLine(line).mode + " " + dataDetailsTransport.GetDetailsLine(line).shortName + " couleur = " + dataDetailsTransport.GetDetailsLine(line).color + " nom ligne = " + dataDetailsTransport.GetDetailsLine(line).longName); } } }
//méthode qui affiche les arrets et ligne de bus public void LoadTransport() { Unduplicate connect = new Unduplicate(new Connexion()); Dictionary <string, List <string> > result = connect.RemoveDuplicate(latitude, longitude, distance); MonTitre = "Rechercher une ligne de bus à proximité";// titre dont la property est définit plus haut, binder dans la vue MonTitre ObservableCollection <Transport> bus = new ObservableCollection <Transport>(); bus = transformDictionaryInList(result); Transports = bus; }
public void RemoveDuplicateTest() { String latitude = "45.185476"; String longitude = "5.727772"; int distance = 400; FakeConnexion testFakeConnect = new FakeConnexion(); testFakeConnect.jsonResult = Json1.jsonStation; Unduplicate testConnect = new Unduplicate(testFakeConnect); Dictionary <string, List <string> > result = testConnect.RemoveDuplicate(latitude, longitude, distance); Assert.AreEqual(1, result.Count); Assert.IsTrue(result.ContainsKey("GRENOBLE, CASERNE DE BONNE")); Assert.AreEqual(result["GRENOBLE, CASERNE DE BONNE"].Count, 3); Assert.IsTrue(result["GRENOBLE, CASERNE DE BONNE"][0].Equals("SEM:13")); Assert.IsTrue(result["GRENOBLE, CASERNE DE BONNE"][1] == ("SEM:16")); Assert.AreEqual(result["GRENOBLE, CASERNE DE BONNE"][2], "SEM:C4"); }