In particular, supply clues when assertions fail and split the tests into test cases to clearly see which tests pass and which fail.