#NEWLINE# def test_retry_in_graph_flow_with_tasks( self ) : #NEWLINE# #INDENT# r = retry . AlwaysRevert ( 'r' ) #NEWLINE# ( a , b , c ) = test_utils . make_many ( 3 ) #NEWLINE# flo = gf . Flow ( 'test' , r ) . add ( a , b , c ) . link ( b , c ) #NEWLINE# g = _replicate_graph_with_names ( compiler . PatternCompiler ( flo ) . compile ( ) ) #NEWLINE# self . assertItemsEqual ( g . edges ( data = True ) , [ ( 'test' , 'r' , { #NEWLINE# #INDENT# 'invariant' : True , #NEWLINE# #UNINDENT# } ) , ( 'r' , 'a' , { #NEWLINE# #INDENT# 'invariant' : True , #NEWLINE# 'retry' : True , #NEWLINE# #UNINDENT# } ) , ( 'r' , 'b' , { #NEWLINE# #INDENT# 'invariant' : True , #NEWLINE# 'retry' : True , #NEWLINE# #UNINDENT# } ) , ( 'b' , 'c' , { #NEWLINE# #INDENT# 'manual' : True , #NEWLINE# #UNINDENT# } ) , ( 'a' , 'test[$]' , { #NEWLINE# #INDENT# 'invariant' : True , #NEWLINE# #UNINDENT# } ) , ( 'c' , 'test[$]' , { #NEWLINE# #INDENT# 'invariant' : True , #NEWLINE# #UNINDENT# } ) ] ) #NEWLINE# self . assertItemsEqual ( [ 'test' ] , g . no_predecessors_iter ( ) ) #NEWLINE# self . assertItemsEqual ( [ 'test[$]' ] , g . no_successors_iter ( ) ) #NEWLINE# self . assertIs ( r , g . node [ 'a' ] [ 'retry' ] ) #NEWLINE# self . assertIs ( r , g . node [ 'b' ] [ 'retry' ] ) #NEWLINE# self . assertIs ( r , g . node [ 'c' ] [ 'retry' ] )