If the implementation happens to call timePassed more than expected, the test will break.  Instead of having a mock TimeTracker, I suggest a real TimeTracker with a mock Ticker.  Then increment the mock time at this point in the test.