TDD MOOC: Tetris
In this exercise you will be implementing a Tetris game using Test-Driven Development (TDD). The first couple dozen tests have already been written for you - just uncomment them one by one. This should help to get over the initial hurdle of knowing what tests to write when getting started with TDD. After that the training wheels are removed, and it's time to write your own tests in the latter part of this exercise.
The instructions on what to do are in the docs directory. This exercise is split into 10 "levels" which you should implement in order. They represent a realistic TDD approach of adding features incrementally.
This exercise uses JavaScript (ES6/ECMAScript 2015), Mocha testing framework and Chai assertions, but the concepts are language agnostic. It would be quite easy to translate the example tests to another programming language as you go. There also exists an older Java-based predecessor of this exercise.
Refer to the course material to learn more about TDD.
This exercise is part of the TDD MOOC at the University of Helsinki, brought to you by Esko Luontola and Nitor.
You'll need a recent Node.js version. Then download this project's dependencies with:
npm install
Run tests once
npm run test
Run tests continuously
npm run autotest
Code reformat
npm run format