import math
from django.test import TestCase
from OSM_outils.OSMnx_recuperation_graph_information import OSMnx_recuperation_graph_information
import osmnx as ox

class OSMnx_recuperation_graph_informationTestCase(TestCase):
    def setUp(self) -> None:
        self.G = ox.load_graphml("./Data/exemple.graphml")

    def test_lire_graph_ville_inexistant(self):
        """
        Test la méthode de lecture de graph villaire avec un nom de ville inexistant. Une levée d'erreur est attendue

        """
        self.assertRaises(FileNotFoundError, OSMnx_recuperation_graph_information.lire_graphe, "aazerty")

    def test_lire_graph_basique(self):
        """
        Test la méthode de lecture de graph pour savoir si la lecture fonctionne

        """
        G = OSMnx_recuperation_graph_information.lire_graphe("exemple")

        print("edges : ", G.nodes)
        self.assertIsNotNone(G.nodes[411610215])
        self.assertIsNotNone(G.nodes[411610220])
        print("edges : ", G.edges)
        self.assertIsNotNone(G.edges[411610215, 411610220, 0])
