poker using test-driven development