Yet Another Sudoku Solver
Simply an exercise to practice TDD. The standard methods (constraint propagation and DFS/backtracking) are used.
Robusteness was favored over performance, so the code is strewn with assert statements and deep copies.
Reference(s):