Thread.sleep is evil in tests.  Use a mock Ticker.  And you should derive the 40ms from the 20ms above, to make it clear that the values need to be related.

Actually, I'm not sure this method is testing anything that isn't already tested by willWaitUntilRefill.  It's not needed.