diff --git a/Graph.py b/Graph.py index 4a19d2b..f1af2f6 100644 --- a/Graph.py +++ b/Graph.py @@ -84,6 +84,12 @@ def remove_edge( self, e ): self[v1].pop(v2) self[v2].pop(v1) + def vertices( self ): + vs = list() + for v in self: + vs.append( v.label ) + return sorted(vs) + def main(script, *args): v = Vertex('v') print v @@ -94,7 +100,6 @@ def main(script, *args): g = Graph([v,w], [e]) print g - if __name__ == '__main__': import sys main(*sys.argv) diff --git a/test_Graph.py b/test_Graph.py index 4f775cd..201ac62 100644 --- a/test_Graph.py +++ b/test_Graph.py @@ -17,6 +17,21 @@ def test_get_edge_not_exist(self): edge = self.g.get_edge(self.v, self.y) self.assertIsNone(edge) + def test_vertices_is_list(self): + ''' Verifica que el retorno de la funcion vertices sea una lista ''' + vs = self.g.vertices() + self.assertEqual( list, type( vs ) ) + + def test_vertices_exist(self): + ''' Todos los vertices incluidos en la lista existen en el grafo ''' + vs = ['v','w','x','y' ] + self.assertEqual( sorted(vs), self.g.vertices() ) + + def test_vertices_not_exist(self): + ''' El vertice z no existe en el grafo generado en setup() ''' + vs = ['v','w','x','y','z' ] + self.assertNotEqual( sorted(vs), self.g.vertices() ) + def test_get_edge_exist(self): edge = self.g.get_edge(self.v, self.w) self.assertEqual(edge, self.e)