Exemplo n.º 1
0
 public function testElapsedStepsWorks()
 {
     $this->stopWatch->start();
     usleep(2500);
     $this->stopWatch->step('step1');
     usleep(8000);
     $this->stopWatch->step('step2');
     usleep(32000);
     $this->stopWatch->stop();
     $elapsedSteps = $this->stopWatch->getElapsedStepsMilliseconds();
     $this->assertCount(2, $elapsedSteps);
     $this->assertArrayHasKey('step1', $elapsedSteps);
     $this->assertArrayHasKey('step2', $elapsedSteps);
     $this->assertGreaterThanOrEqual(2, $elapsedSteps['step1']);
     $this->assertLessThan(10, $elapsedSteps['step1']);
     $this->assertGreaterThanOrEqual(10, $elapsedSteps['step2']);
     $this->assertLessThan(18, $elapsedSteps['step2']);
     $elapsedStepsSeconds = $this->stopWatch->getElapsedStepsSeconds();
     $this->assertGreaterThanOrEqual(0.002, $elapsedStepsSeconds['step1']);
     $this->assertLessThan(0.01, $elapsedStepsSeconds['step1']);
     $elapsedStepsMicroseconds = $this->stopWatch->getElapsedStepsMicroseconds();
     $this->assertGreaterThanOrEqual(2000, $elapsedStepsMicroseconds['step1']);
     $this->assertLessThan(10000, $elapsedStepsMicroseconds['step1']);
 }