60 lines
1.5 KiB
PHP
60 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace Tests\Unit;
|
|
|
|
use Carbon\Carbon;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class TimeWTest extends TestCase
|
|
{
|
|
/**
|
|
* A basic unit test example.
|
|
*/
|
|
public function test_timew(): void
|
|
{
|
|
$date = Carbon::createFromFormat('Y-m-d H:i:s.v','2023-12-07 12:13:14.567');
|
|
|
|
$this->assertEquals(4042011877,timew($date));
|
|
|
|
$date = Carbon::createFromFormat('Y-m-d H:i:s.v','2019-12-07 12:13:14.567');
|
|
|
|
$this->assertEquals(4042011877,timew($date));
|
|
|
|
$date = Carbon::createFromFormat('Y-m-d H:i:s.v','2022-12-07 01:28:50.400');
|
|
|
|
$this->assertEquals(2967565092,timew($date));
|
|
}
|
|
|
|
/**
|
|
* A basic unit test example.
|
|
*/
|
|
public function test_wtime(): void
|
|
{
|
|
$date = Carbon::createFromFormat('Y-m-d H:i:s.v','2023-12-07 12:13:14.5');
|
|
|
|
$this->assertEquals($date,wtime(4042011877,2022));
|
|
|
|
$date = Carbon::createFromFormat('Y-m-d H:i:s.v','2019-12-07 12:13:14.5');
|
|
|
|
$this->assertEquals($date,wtime(4042011877,2018));
|
|
|
|
$date = Carbon::createFromFormat('Y-m-d H:i:s.v','2022-12-07 01:28:50.400');
|
|
|
|
$this->assertEquals($date,wtime(2967565092,2022));
|
|
}
|
|
|
|
public function test_random_time(): void
|
|
{
|
|
$times = [];
|
|
$now = Carbon::now()->milli(rand(0,9)*100);
|
|
|
|
for ($i=0;$i<1000;$i++) {
|
|
$ran = $now->clone()->addYears(rand(-50,50))->addDays(rand(-365,365))->addHours(rand(-24,24))->addMinutes(rand(-60,60))->addSeconds(rand(-60,60));
|
|
$times[timew($ran)] = $ran;
|
|
}
|
|
|
|
foreach ($times as $wtime => $time)
|
|
$this->assertEquals($time,wtime($wtime,$time->year));
|
|
}
|
|
}
|