Printer design

Redesigning asserts as a printer.

Connect - What do you look for in an error message?

When a test case fails, what kinds of things help you to work out what’s happened? Note down some ideas.

Concept - What is a printer

Explain what a printer is in the context of approval testing. Perhaps show the ones for Supermarket Receipt or TicTacToe.

Concrete - Design a printer

There is a starting position for the Vending Machine Kata. First convert the assertions to an approval test. Then introduce new functionality into the vending machine feature by feature. Either do this for yourself or merge in the feature branches provided. As you develop the code, extend your printer to test the new functionality.

Conclusions - printer design

What have you learnt about printer design? How much detail should you include?