(self,from_node:Union[ExecutionNode,GID],to_node:Union[ExecutionNode,GID],edge:DirectedEdge=None)
| 201 | raise TypeError('node must be instance of ExecutionNode!') |
| 202 | |
| 203 | def add_edge(self,from_node:Union[ExecutionNode,GID],to_node:Union[ExecutionNode,GID],edge:DirectedEdge=None): |
| 204 | if isinstance(from_node,ExecutionNode): |
| 205 | from_node = from_node.node_id |
| 206 | if isinstance(to_node,ExecutionNode): |
| 207 | to_node = to_node.node_id |
| 208 | if from_node not in self.edges: |
| 209 | self.edges[from_node] = {} |
| 210 | if edge is None: |
| 211 | self.edges[from_node][to_node] = DirectedEdge() |
| 212 | else: |
| 213 | if isinstance(edge,DirectedEdge): |
| 214 | self.edges[from_node][to_node] = edge |
| 215 | else: |
| 216 | raise TypeError('edge must be instance of DirectedEdge!') |
| 217 | self.nodes[to_node].in_degree += 1 |
| 218 | self.nodes[from_node].out_degree +=1 |
| 219 | |
| 220 | |
| 221 | def pop_node(self,node:Union[ExecutionNode,GID])->Union[ExecutionNode,None]: |
no test coverage detected