# unittest in python
# Unit Testing:
# - test smallest parts of an application in isolation
# - good candidates for unit testing: individual classes,
# modules, or functions
# - bad candidates for unit testing: an entire application,
# dependencies across several classes or modules

#unittest is a testing framework
# - built in module
# - write unit tests encapsulated as classes 
# - gives access to many asserts that help

# Types of Assertions:
# - self.assertEqual(x,y)
# - self.assertNotEqual(x,y)
# - self.assertTrue(x)
# - self.assertFalse(x)