示例#1
0
 def __init__(self, attrs=None, mutable=True, *args, **kwargs):
     SimpleEdge.__init__(self, *args, **kwargs)
     if attrs == None:
         self.__attrs = dict()
     else:
         self.__attrs = dict(attrs)
     self.__mutable = mutable
示例#2
0
 def __create_edge(self, edges, from_file, to_file):
     # TODO strip external absolute base dirs and replace by <name of external module>
     from_file_stripped = self.__include_path_mapper.map_dir_to_external_module(
         from_file)
     to_file_stripped = self.__include_path_mapper.map_dir_to_external_module(
         to_file)
     edges.append(SimpleEdge(from_file_stripped, to_file_stripped))
示例#3
0
 def lookup_edge(self, source, target):
     # TODO das ist unnötig ineffizient (O(n)), vielleicht doch besser ein dict für die Kanten benutzen?
     for edge in self.__edges:
         if edge == SimpleEdge(source, target):
             return edge
     return None
示例#4
0
 def has_edge(self, source, target):
     return SimpleEdge(source, target) in self.__edges
示例#5
0
 def _remove_edge(self, source=None, target=None, edge=None):
     if not isinstance(edge, NoneType):
         self.__edges.remove(edge)
     else:
         self.__edges.remove(SimpleEdge(source, target))
示例#6
0
 def _add_edge(self, source, target):
     if SimpleEdge(source, target) not in self.__edges:
         self.__edges.add(AttributedEdge(attrs=dict(self.__default_edge_attrs),
                                         from_node=source,
                                         to_node=target))
示例#7
0
 def test_basic(self):
     graph = AttributeGraph(
         edges=(SimpleEdge(from_node="a", to_node="b"), ))
     self._run_with_graph(graph)