# testing in python
# Why test?
#  - Reduce bugs in existing code
#  - ensure bugs that are fixed stay fixed
#  - ensure new features dont break old ones
#  - ensure that cleaning up code doesnt introduce new bugs
#  - makes developing more fun

# Test Driven Development
#  - development begins with writing tests
#  - once tests are written, write code to make tests pass
#  - once tests pass, a feature is considered complete

# Red, Green, Refactor
#  1. Red - Write a test that fails
#  2. Green - Write minimal amount of code necessary to make the test pass
#  3. Refactor - Clean up code, while ensuring that tests still pass