public function testDetectsAMaximumTimeHasElapsed()
{
$this->time = 1000000000;
$limit = new FixedTimeLimit(30, function () {
return $this->time;
});
$limit->start();
$this->assertFalse($limit->hasBeenReached(), "Limit should not be immediately reached");
$this->time = 1000000029;
$this->assertFalse($limit->hasBeenReached(), "Limit reached too soon");
$this->time = 1000000030;
$this->assertTrue($limit->hasBeenReached(), "Limit not reached yet");
}