Jyxo\Time\TimeTest::testPlus PHP Method

testPlus() public method

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