/** * @dataProvider provideTestModifyByDays * * @param string $dateStr * @param string $tzStr * @param float $byDays * @param string $expected */ public function testModifyByDays($dateStr, $tzStr, $byDays, $expected) { $date = new LocalDate($dateStr, $tzStr); $mod = $date->modifyByDays($byDays); $this->assertEquals($expected, $mod->format(), 'Modifying a date by days must work'); $this->assertEquals((double) $byDays, $date->diffInDays($mod), 'Diff in days must be correct'); $this->assertEquals((double) $byDays, 0 - $mod->diffInDays($date), 'Diff in days must be correct'); }