Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Write Tests: No, Seriously: Write Tests. - Clarke Brunsdon

Required Tools

  • Python
  • Text-editor such as Sublime or Atom
  • Git
  • Ability to clone repos
  • Ability to Execute Python scripts

Get Started

  • Clone THIS repo
  • Open up this presentations directory


Your task is to implement a "calculator" class, writing tests for all of the methods you need to implement. This is not a "fill in the blanks" exercise and you're encouraged to be inventive and thoughtful with the tests you are writing.

Optional Difficulties

If you are a new programmer you will want to choose the "calculator" class, which you will find in calculator.py.

You can implement your tests in test_runner.py using the simple assert_equal method provided.

When you are finished implementing all the methods in the Calculator class, you can execute finished_runner.py. It will either print out a success or failure message to let you know if your calculator works.

For a more difficult and open-ended challenge, you can implement hard_calculator.py and run finished_hard_runner.py, though its a more open-ended exercise and you're encouraged to go as far as you can while writing good tests.

Don't like python?

Neither do I! Feel free to do this in any language you want. This isn't being graded, its point is to encourage you to think about writing tests. What language you want to implement the "calculator" class in isn't important.