public function test_London_getTransitionRules() { $test = $this->europeLondon(); $rules = $test->getTransitionRules(); $this->assertEquals(count($rules), 2); $in = $rules[0]; $this->assertEquals($in->getMonth(), Month::MARCH()); $this->assertEquals($in->getDayOfMonthIndicator(), 25); // optimized from -1 $this->assertEquals($in->getDayOfWeek(), DayOfWeek::SUNDAY()); $this->assertEquals($in->getLocalTime(), LocalTime::of(1, 0)); $this->assertEquals($in->getTimeDefinition(), TimeDefinition::UTC()); $this->assertEquals($in->getStandardOffset(), self::$OFFSET_ZERO); $this->assertEquals($in->getOffsetBefore(), self::$OFFSET_ZERO); $this->assertEquals($in->getOffsetAfter(), self::$OFFSET_PONE); $out = $rules[1]; $this->assertEquals($out->getMonth(), Month::OCTOBER()); $this->assertEquals($out->getDayOfMonthIndicator(), 25); // optimized from -1 $this->assertEquals($out->getDayOfWeek(), DayOfWeek::SUNDAY()); $this->assertEquals($out->getLocalTime(), LocalTime::of(1, 0)); $this->assertEquals($out->getTimeDefinition(), TimeDefinition::UTC()); $this->assertEquals($out->getStandardOffset(), self::$OFFSET_ZERO); $this->assertEquals($out->getOffsetBefore(), self::$OFFSET_PONE); $this->assertEquals($out->getOffsetAfter(), self::$OFFSET_ZERO); }
private function parseTimeDefinition($c) { switch ($c) { case 's': case 'S': // standard time return TimeDefinition::STANDARD(); case 'u': case 'U': case 'g': case 'G': case 'z': case 'Z': // UTC return TimeDefinition::UTC(); case 'w': case 'W': default: // wall time return TimeDefinition::WALL(); } }