periods = new TravelPeriods([ ['label' => 'Herbst', 'from' => '2026-09-01', 'to' => '2026-10-07'], ['label' => 'Silvester', 'from' => '2026-12-26', 'to' => '2027-01-03'], ['label' => '1 Januarwoche', 'from' => '2027-01-02', 'to' => '2027-01-09'], ], new MockClock('2026-10-08 10:00:00')); } public function testFindsACurrentPeriodByLabelIgnoringCase(): void { $range = $this->periods->find(' silvester '); self::assertSame('2026-12-26', $range['from']->format('Y-m-d')); self::assertSame('2027-01-03', $range['to']->format('Y-m-d')); } public function testAPeriodWhoseEndHasPassedIsNoLongerOffered(): void { self::assertNull($this->periods->find('Herbst')); self::assertSame(['Silvester', '1 Januarwoche'], $this->periods->labels()); } public function testAnUnknownLabelIsNull(): void { self::assertNull($this->periods->find('Pfingsten')); } }