Jyxo\Time\TimeTest::testMinus PHP Method

testMinus() public method

Tests the minus() method.
See also: Jyxo\Time\Time::minus()
public testMinus ( )
    public function testMinus()
    {
        // Provided as number of seconds
        $time = Time::get('2005-05-05 00:00:00');
        $this->assertEquals(Time::get('2005-05-04 23:59:50'), $time->minus(10));
        $this->assertEquals(Time::get('2005-05-04 23:59:00'), $time->minus(60));
        $this->assertEquals(Time::get('2005-05-04 22:00:00'), $time->minus(2 * 3600));
        $this->assertEquals(Time::get('2005-05-04 00:00:00'), $time->minus(24 * 3600));
        $this->assertEquals(Time::get('2005-04-05 00:00:00'), $time->minus(30 * 24 * 3600));
        $this->assertEquals(Time::get('2004-05-05 00:00:00'), $time->minus(365 * 24 * 3600));
        // Provided as string
        $this->assertEquals(Time::get('2005-05-04 00:00:00'), $time->minus('1 day'));
        $this->assertEquals(Time::get('2005-03-05 00:00:00'), $time->minus('2 months'));
        $this->assertEquals(Time::get('2002-05-05 00:00:00'), $time->minus('3 year'));
        // Time zone settings
        $timeZone = new \DateTimeZone($time->getTimeZone()->getName() == 'Europe/Prague' ? 'America/Santiago' : 'Europe/Prague');
        $time->setTimeZone($timeZone);
        $time2 = $time->minus(86400);
        $this->assertSame($time->getTimeZone()->getName(), $time2->getTimeZone()->getName());
    }