<?php
class ClockTest extends PHPUnit_Framework_TestCase {
/**
* Keeps object to Clock class.
*
* @var
*/
private $Clock;
protected function setUp()
{
parent::setUp();
}
protected function tearDown()
{
unset($this->Clock);
parent::tearDown();
}
/**
* @param string $time
* @param int $expected_hour
* @param int $expected_min
*
* @dataProvider data_testInit_ValidTime_ProperData
*/
public function testInit_ValidTime_ProperData($time, $expected_hour, $expected_min)
{
$this->init_object($time);
$hour = $this->Clock->get_hour();
$this->assertEquals($hour, $expected_hour);
$hour = $this->Clock->get_min();
$this->assertEquals($hour, $expected_min);
}
/**
* @expectedException \PTX\ClockException
*/
public function testInit_InvalidTime_Exception()
{
$this->init_object('14:25');
$hour = $this->Clock->get_hour();
$this->assertEquals($hour, 10);
$hour = $this->Clock->get_min();
$this->assertEquals($hour, 25);
}
public function data_testInit_ValidTime_ProperData() {
return array(
array('10:25', 10, 25),
array('01:25', 01, 25),
array('1:25', 01, 25),
array('1:01', 01, 01),
array('1:1', 01, 01),
);
}
public function init_object($time)
{
$this->Clock = new \PTX\Clock($time);
}
}
|