Chapter 4, recipe 8: data-driven test suite