Jyxo\Time\TimeTest::testMagicGet PHP Method

testMagicGet() public method

Tests the __get() method.
See also: Jyxo\Time\Time::__get()
public testMagicGet ( )
    public function testMagicGet()
    {
        // Basic types
        $timeZone = new \DateTimeZone('Etc/GMT-7');
        $time = new Time('2009-10-10', $timeZone);
        $this->assertEquals('2009-10-10T00:00:00+0700', $time->sql);
        $this->assertEquals('Sat, 10 Oct 09 00:00:00 +0700', $time->email);
        $this->assertEquals('2009-10-10T00:00:00+07:00', $time->web);
        $this->assertEquals('Saturday, 10-Oct-2009 00:00:00 GMT-7', $time->cookie);
        $this->assertEquals('Sat, 10 Oct 2009 00:00:00 +0700', $time->rss);
        $this->assertEquals('1255107600', $time->unix);
        $this->assertEquals('Fri, 09 Oct 2009 17:00:00 GMT', $time->http);
        $this->assertEquals(sprintf('10. %s 2009 v 0:00', mb_strtolower(_('October#~Genitive'), 'utf-8')), $time->extended);
        $this->assertEquals(sprintf('10. %s 2009 v 0:00', mb_strtolower(_('October#~Genitive'), 'utf-8')), $time->full);
        // Interval
        $this->assertEquals(sprintf(ngettext('Day ago', '%s days ago', 5), 5), Time::get('-5 day')->interval);
        $this->assertEquals(sprintf(ngettext('In day', 'In %s days', 5), 5), Time::get('+5 day')->interval);
        // Full
        $this->assertEquals(sprintf(ngettext('Minute ago', '%s minutes ago', 59), 59), Time::get('-59 minutes')->full);
        $this->assertNotEquals(sprintf(ngettext('Minute ago', '%s minutes ago', 60), 60), Time::get('-60 minutes')->full);
        $this->assertEquals(sprintf(ngettext('In minute', 'In %s minutes', 59), 59), Time::get('+59 minutes')->full);
        $this->assertNotEquals(sprintf(ngettext('In minute', 'In %s minutes', 60), 60), Time::get('+60 minutes')->full);
        // Result rounding
        $this->assertEquals(sprintf(ngettext('Minute ago', '%s minutes ago', 1), 1), Time::get('-89 seconds')->full);
        $this->assertEquals(sprintf(ngettext('Minute ago', '%s minutes ago', 2), 2), Time::get('-90 seconds')->full);
        $this->assertEquals(sprintf(ngettext('In minute', 'In %s minutes', 2), 2), Time::get('+149 seconds')->full);
        $this->assertEquals(sprintf(ngettext('In minute', 'In %s minutes', 3), 3), Time::get('+150 seconds')->full);
        // Unknown type
        try {
            $this->assertEquals('', $time->unknown);
            $this->fail(sprintf('Expected exception %s.', \InvalidArgumentException::class));
        } catch (\PHPUnit_Framework_AssertionFailedError $e) {
            throw $e;
        } catch (\Exception $e) {
            // Correctly thrown exception
            $this->assertInstanceOf(\InvalidArgumentException::class, $e);
        }
    }