Description
One of the assertions is incorrect. This is a bit hard to spot because that assertion is performed in a callback on a different thread, so if the assertion fails it can just kill the other thread and the test times out without a clear indication of what's going wrong. We can rearrange the assertion a bit to test the same thing but make the assertions execute in the main test thread.