:mod:`test`
===========

.. py:module:: test


Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   test.MyTestCase



Functions
~~~~~~~~~

.. autoapisummary::

   test.get_city_informations



.. function:: get_city_informations(population=50000, density=10000)

   Calculates the expected area and the actual total area of the city, depending of the population and density.

   Args:
       population (int): the number of inhabitants, default value to 50000
       density (int): the number of inhabitants by km², default value to 10000

   Returns:
       a couple of two integers


.. class:: MyTestCase(methodName='runTest')


   Bases: :py:obj:`unittest.TestCase`

   A class whose instances are single test cases.

   By default, the test code itself should be placed in a method named
   'runTest'.

   If the fixture may be used for many test cases, create as
   many test methods as are needed. When instantiating such a TestCase
   subclass, specify in the constructor arguments the name of the test method
   that the instance is to execute.

   Test authors should subclass TestCase for their own tests. Construction
   and deconstruction of the test's environment ('fixture') can be
   implemented by overriding the 'setUp' and 'tearDown' methods respectively.

   If it is necessary to override the __init__ method, the base class
   __init__ method must always be called. It is important that subclasses
   should not change the signature of their __init__ method, since instances
   of the classes are instantiated automatically by parts of the framework
   in order to be run.

   When subclassing TestCase, you can set these attributes:
   * failureException: determines which exception will be raised when
       the instance's assertion methods fail; test methods raising this
       exception will be deemed to have 'failed' rather than 'errored'.
   * longMessage: determines whether long messages (including repr of
       objects used in assert methods) will be printed on failure in *addition*
       to any explicit message passed.
   * maxDiff: sets the maximum length of a diff in failure messages
       by assert methods using difflib. It is looked up as an instance
       attribute so can be configured by individual tests if required.

   .. method:: test_city_size_with_population(self)

      Test with different numbers for population to check if the area of the generated city is valid.


   .. method:: test_city_size_with_density(self)

      Test with different densities to check if the area of the generated city is valid.



