You are here

TimerTest.php in Zircon Profile 8

File

vendor/phpunit/php-timer/Tests/TimerTest.php
View source
<?php

/*
 * This file is part of the PHP_Timer package.
 *
 * (c) Sebastian Bergmann <sebastian@phpunit.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

/**
 * Tests for PHP_Timer.
 *
 * @since      Class available since Release 1.0.0
 */
class PHP_TimerTest extends PHPUnit_Framework_TestCase {

  /**
   * @covers PHP_Timer::start
   * @covers PHP_Timer::stop
   */
  public function testStartStop() {
    $this
      ->assertInternalType('float', PHP_Timer::stop());
  }

  /**
   * @covers       PHP_Timer::secondsToTimeString
   * @dataProvider secondsProvider
   */
  public function testSecondsToTimeString($string, $seconds) {
    $this
      ->assertEquals($string, PHP_Timer::secondsToTimeString($seconds));
  }

  /**
   * @covers PHP_Timer::timeSinceStartOfRequest
   */
  public function testTimeSinceStartOfRequest() {
    $this
      ->assertStringMatchesFormat('%f %s', PHP_Timer::timeSinceStartOfRequest());
  }

  /**
   * @covers PHP_Timer::resourceUsage
   */
  public function testResourceUsage() {
    $this
      ->assertStringMatchesFormat('Time: %s, Memory: %s', PHP_Timer::resourceUsage());
  }
  public function secondsProvider() {
    return array(
      array(
        '0 ms',
        0,
      ),
      array(
        '1 ms',
        0.001,
      ),
      array(
        '10 ms',
        0.01,
      ),
      array(
        '100 ms',
        0.1,
      ),
      array(
        '999 ms',
        0.999,
      ),
      array(
        '1 second',
        0.9999,
      ),
      array(
        '1 second',
        1,
      ),
      array(
        '2 seconds',
        2,
      ),
      array(
        '59.9 seconds',
        59.9,
      ),
      array(
        '59.99 seconds',
        59.99,
      ),
      array(
        '59.99 seconds',
        59.999,
      ),
      array(
        '1 minute',
        59.9999,
      ),
      array(
        '59 seconds',
        59.001,
      ),
      array(
        '59.01 seconds',
        59.01,
      ),
      array(
        '1 minute',
        60,
      ),
      array(
        '1.01 minutes',
        61,
      ),
      array(
        '2 minutes',
        120,
      ),
      array(
        '2.01 minutes',
        121,
      ),
      array(
        '59.99 minutes',
        3599.9,
      ),
      array(
        '59.99 minutes',
        3599.99,
      ),
      array(
        '59.99 minutes',
        3599.999,
      ),
      array(
        '1 hour',
        3599.9999,
      ),
      array(
        '59.98 minutes',
        3599.001,
      ),
      array(
        '59.98 minutes',
        3599.01,
      ),
      array(
        '1 hour',
        3600,
      ),
      array(
        '1 hour',
        3601,
      ),
      array(
        '1 hour',
        3601.9,
      ),
      array(
        '1 hour',
        3601.99,
      ),
      array(
        '1 hour',
        3601.999,
      ),
      array(
        '1 hour',
        3601.9999,
      ),
      array(
        '1.01 hours',
        3659.9999,
      ),
      array(
        '1.01 hours',
        3659.001,
      ),
      array(
        '1.01 hours',
        3659.01,
      ),
      array(
        '2 hours',
        7199.9999,
      ),
    );
  }

}

Classes

Namesort descending Description
PHP_TimerTest Tests for PHP_Timer.