File tree Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -92,7 +92,9 @@ def prepare(self):
9292        therefore no more nodes can be added using "add". 
9393        """ 
9494        if  self ._ready_nodes  is  not   None :
95-             raise  ValueError ("cannot prepare() more than once" )
95+             if  self ._npassedout  >  0 :
96+                 raise  ValueError ("cannot prepare() after starting sort" )
97+             return 
9698
9799        self ._ready_nodes  =  [
98100            i .node  for  i  in  self ._node2info .values () if  i .npredecessors  ==  0 
Original file line number Diff line number Diff line change @@ -140,7 +140,13 @@ def test_calls_before_prepare(self):
140140    def  test_prepare_multiple_times (self ):
141141        ts  =  graphlib .TopologicalSorter ()
142142        ts .prepare ()
143-         with  self .assertRaisesRegex (ValueError , r"cannot prepare\(\) more than once" ):
143+         ts .prepare ()
144+ 
145+     def  test_prepare_after_pass_out (self ):
146+         ts  =  graphlib .TopologicalSorter ({'a' : 'bc' })
147+         ts .prepare ()
148+         self .assertEqual (set (ts .get_ready ()), {'b' , 'c' })
149+         with  self .assertRaisesRegex (ValueError , r"cannot prepare\(\) after starting sort" ):
144150            ts .prepare ()
145151
146152    def  test_invalid_nodes_in_done (self ):
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments