/**
  * @Then the SpikeApi Load Average should be OK
  */
 public function theLoadAverageShouldBeOk()
 {
     $data = json_decode($this->response);
     $ldAvg = $data->ldAvg;
     $requiredMax1MinLdAvg = 1.25;
     $requiredMax5MinLdAvg = 0.75;
     $requiredMax15MinLdAvg = 0.45;
     assertThat('1 Min LdAvg is high', $ldAvg[0], lessThanOrEqualTo($requiredMax1MinLdAvg));
     assertThat('5 Min LdAvg is high', $ldAvg[1], lessThanOrEqualTo($requiredMax5MinLdAvg));
     assertThat('15 Min LdAvg is high', $ldAvg[2], lessThanOrEqualTo($requiredMax15MinLdAvg));
 }
 public function testThrottleDoesNotThrottleIfThereIsAtLeastOneSecondBetweenCalls()
 {
     $this->throttle->throttle(['amz_product_api_service_call']);
     $time_a = microtime(true);
     sleep(1);
     $time_b = microtime(true);
     $this->throttle->throttle(['amz_product_api_service_call']);
     $time_c = microtime(true);
     //Assume it should take no longer than .01 seconds for the throttle function to return
     //when throttle is not being applied
     assertThat($time_c - $time_b, lessThanOrEqualTo(0.01));
 }
 public function testAllowsForInclusiveComparisons()
 {
     assertThat(1, lessThanOrEqualTo(1));
     assertThat(1, greaterThanOrEqualTo(1));
 }
 public function testgetNumItemsPerSec()
 {
     $numSecs = 30;
     $testFilesPerSec = $this->showJobsDao->getNumItemsPerSec(5 * $numSecs, $numSecs);
     assertThat($testFilesPerSec, is(greaterThan(1)));
     $testFilesPerSec = $this->showJobsDao->getNumItemsPerSec(0.9 * $numSecs, $numSecs);
     assertThat($testFilesPerSec, is(lessThanOrEqualTo(1)));
 }