Table-driven testing