title: TypeError: 'module' object is not callable when running unittest
body: <p>There are two files in py</p>
  
  <pre><code>py/
    bubble.py
    unit.py
  </code></pre>
  
  <p><code>unit.py</code> is:</p>
  
  <pre><code>import random
  import unittest
  from py import bubble
  
  def getl():
      l = []
      for i in range(10):
          l.append(random.randint(1,20))
      return l
  
  class TestBubble(unittest.TestCase):
      def setUp(self):
          self.l = getl()
  
      def test_bubble(self):
          sorted_list = sorted(self.l)
          bubble(self.l)
          self.assertListEqual(self.l, sorted_list)
  
  if __name__ == '__main__':
      unittest.main()
  </code></pre>
  
  <p>When running this script i got this:</p>
  
  <pre><code>E
  ======================================================================
  ERROR: test_bubble (__main__.TestBubble)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "unit.py", line 27, in test_bubble
      bubble(self.l)
  TypeError: 'module' object is not callable
  
  ----------------------------------------------------------------------
  Ran 1 test in 0.000s
  
  FAILED (errors=1)
  </code></pre>
  
  <p>What's the problem with this script?</p>