/** * @dataProvider provideTestAddInterval * * The modification by interval MUST be aware of day light saving shifts, so one day can even be 25 or 23 hours. * * @param string $dateStr * @param string $tzStr * @param string $intervalStr * @param string $expectedAdd * @param string $expectedSub */ public function testAddSubInterval($dateStr, $tzStr, $intervalStr, $expectedAdd, $expectedSub) { $localDate = new LocalDate($dateStr, $tzStr); // test with object parameter $added = $localDate->addInterval(new \DateInterval($intervalStr)); $subbed = $localDate->subInterval(new \DateInterval($intervalStr)); $this->assertEquals($expectedAdd, $added->format(), 'Adding an interval must work'); $this->assertEquals($expectedSub, $subbed->format(), 'Subbing an interval must work'); // test with string parameter $added = $localDate->addInterval($intervalStr); $subbed = $localDate->subInterval($intervalStr); $this->assertEquals($expectedAdd, $added->format(), 'Adding an interval as string must work'); $this->assertEquals($expectedSub, $subbed->format(), 'Subbing an interval as string must work'); }