Merge pull request #11407 from cividesk/CRM-21553
[civicrm-core.git] / tests / phpunit / CRM / Utils / TimeTest.php
1 <?php
2
3 /**
4 * Class CRM_Utils_TimeTest
5 * @group headless
6 */
7 class CRM_Utils_TimeTest extends CiviUnitTestCase {
8 /**
9 * Equal cases.
10 *
11 * @return array
12 */
13 public function equalCases() {
14 $cases = array(); // array(0 => $timeA, 1 => $timeB, 2 => $threshold, 3 => $expectedResult)
15 $cases[] = array('2012-04-01 12:00:00', '2012-04-01 12:00:00', 0, 1);
16 $cases[] = array('2012-04-01 12:00:00', '2012-04-01 12:00:01', 0, 0);
17 $cases[] = array('2012-04-01 12:00:00', '2012-04-01 12:00:50', 60, 1);
18 $cases[] = array('2012-04-01 12:00:00', '2012-04-01 12:01:02', 60, 0);
19 $cases[] = array('2012-04-01 12:00', '2012-04-01 12:01', 0, 0);
20 $cases[] = array('2012-04-01 12:00', '2012-04-01 12:01', 60, 1);
21 $cases[] = array('2012-04-01 12:00', '2012-04-01 12:01', 120, 1);
22 return $cases;
23 }
24
25 /**
26 * Test equals.
27 *
28 * @param string $timeA
29 * @param string $timeB
30 * @param int $threshold
31 * @param bool $expectedResult
32 *
33 * @dataProvider equalCases
34 */
35 public function testEquals($timeA, $timeB, $threshold, $expectedResult) {
36 $actual = CRM_Utils_Time::isEqual($timeA, $timeB, $threshold);
37 $this->assertEquals($expectedResult, $actual);
38
39 $actual = CRM_Utils_Time::isEqual($timeB, $timeA, $threshold);
40 $this->assertEquals($expectedResult, $actual);
41 }
42
43 }