[Tutor] Unit testing

Kent Johnson kent37 at tds.net
Tue Jun 27 21:28:13 CEST 2006


Tino Dai wrote:
>     How I have it now:
> 
>     semaA = threading.semaphore()
> 
>     class nameA:
>        def __init__(self):
>             <do some stuff>
>      
>        def run(self):
>              <do some stuff>
>              semaA.release()
>             
>     class nameB:
>        def __init__(self):
>             <do some stuff>
>      
>        def run(self):
>              semaA.acquire()
>              <do some stuff>
>             
> 
>     Does that make sense. Or is there a better way?

class nameA:
   def __init__(self, sema):
        self.sema = sema
        <do some stuff>
 
   def run(self):
         <do some stuff>
         self.sema.release()
        
class nameB:
   def __init__(self, sema):
        self.sema = sema
        <do some stuff>
 
   def run(self):
         self.semaA.acquire()
         <do some stuff>


In the client code or the unit test:
semaA = threading.semaphore()
anA = nameA(semaA)
aB = nameB(semaA)
anA.run()
aB.run()

Look, ma, no globals!
Kent





More information about the Tutor mailing list