Test First Spreadsheet

During this dojo we will be implementing a Spreadsheet from scratch. We will start with the formula engine and write a GUI if there is time.


You are given a set of existing tests that have no current implementation. You will need to work your way through the tests implementing the expected functionality.

  • Implement each test before going onto the next one
  • Split tests if you want to
  • Refactor between passing tests if needed
  • You can make up additional intermediate test cases to drive your code
  • You can complete the tests in a different order if it makes sense

Starting codebase: spreadsheet_dojo.zip

Background Reading

You may find the following links helpful for parsing formulas:

Wikipedia: Reverse Polish Notation
Wikipedia: Shunting Yard Algorithm

Googling operator precedence or recursive descent will give you an idea of an established way of parsing formulas.