<?php namespace nur\b\date; use nur\t\TestCase; class HourTest extends TestCase { function test__toString() { self::assertSame("0h00", strval(new Hour(0))); self::assertSame("0h56", strval(new Hour(56))); self::assertSame("2h00", strval(new Hour(120))); self::assertSame("23h59", strval(new Hour(1439))); self::assertSame("24h00", strval(new Hour(1440))); self::assertSame("0h01", strval(new Hour(1441))); } function testFormat() { self::assertSame("0h00", (new Hour(0))->format()); self::assertSame("0h56", (new Hour(56))->format()); self::assertSame("2h00", (new Hour(120))->format()); self::assertSame("23h59", (new Hour(1439))->format()); self::assertSame("24h00", (new Hour(1440))->format()); self::assertSame("0h01", (new Hour(1441))->format()); } function testStep() { $h = new class extends Hour { const STEP = 5; }; $h = $h->newu(10); self::assertSame("0h10", strval($h)); $h = $h->newu(12); self::assertSame("0h10", strval($h)); $h = $h->newu(15); self::assertSame("0h15", strval($h)); $h = $h->newu(17); self::assertSame("0h15", strval($h)); } }