Checking exercises...
[warn] bob: missing 1 test case
- shouting a statement containing a question mark (3c954328-86fb-4c71-8961-e18d6a5e2517)
[warn] hangman: missing 10 test cases
- Initially 9 failures are allowed and no letters are guessed (2419ffe6-16d8-4059-856a-9a101998a418)
- After 10 failures the game is over (17c4296d-daab-44dc-8155-37c77caa52c1)
- Losing with several correct guesses (77c9ae1f-bbc4-4ed4-b67e-08110cbcfc17)
- Feeding a correct letter removes underscores (25101d8d-9874-405b-9825-193a14b69753)
- Feeding a correct letter twice counts as a failure (8e6bd521-bc9b-458f-9cce-f57f4140c173)
- Guessing a repeated letter reveals all instances (5e6971b7-5e5f-49c2-b85d-1dd6aeb53bd5)
- Getting all the letters right makes for a win (a6c69d92-01ef-4b81-b9d9-801131e79bbb)
- Winning on the last guess is still a win (2dc47994-b434-4a26-b70c-1eebeff77fe4)
- Guessing after a lose is error (52801d56-6963-494b-a901-5736e46ddc12)
- Guessing after a win is error (29a874f3-a413-4e1b-9a60-6be018e70b60)
[warn] state-of-tic-tac-toe: missing 2 test cases
- Invalid boards -> Invalid board: O kept playing after X wins (5a84757a-fc86-4328-aec9-a5759e6ed35d)
- Invalid boards -> Invalid board: X kept playing after O wins (cf25543d-583a-4656-b9ab-f82dc00a4a02)
[warn] tree-building: missing 16 test cases
- empty list (761790a3-4c27-461a-b4e9-8bce8ccee5a1)
- single record (dcc89dc3-eb39-4f26-a3cd-964e607c95ff)
- three records in order (dcdb80f0-e5da-43e1-8b8d-6f307be89c0e)
- three records in reverse order (2ff5b8f8-d95e-401e-9359-233919488d22)
- more than two children (de798d3b-8905-4446-a114-a0dd2476d945)
- binary tree (13dd9b3c-6137-415f-b6fe-5044c1dfbc50)
- unbalanced tree (5cfd29dc-166b-47da-84ca-1c60b5ae5941)
- one root node and has parent (a05ddb5d-2d11-4948-88d3-b5f18a44ddce)
- root node has parent (9ed09df2-8fd6-4e37-aa37-e7753c057a1a)
- no root node (8755a2c4-2c6b-4396-b155-b5bf4b6bc280)
- duplicate node (c6ef8f9a-4045-4949-a1e1-e0ae804e4af4)
- duplicate root (7a7b77a6-3447-4905-b79c-d22bfe43f408)
- non-continuous (c6f51bd7-3608-4390-b446-dfd1bcbf3ddc)
- cycle directly (1f3d1b50-4494-4b22-b88a-68f32f7d321d)
- cycle indirectly (ac568b50-3f9b-4cb4-b602-e0eb13de4269)
- higher id parent of lower id (cf954b21-3cef-420c-8e72-d19547505e1f)
[warn] some exercises are missing test cases