extractDates($subject); $this->assertCount($count, $result->getFound()); $this->assertEquals($filtered, $result->getFilteredSubject()); $this->assertContainsOnlyInstancesOf(\DateTimeImmutable::class, $result->getFound()); $dates = \array_map( function (\DateTimeImmutable $d) { return $d->format('Y-m-d'); }, $result->getFound() ); foreach ($datesSearched as $date) { $this->assertContains($date, $dates); } } public function provideSubjects() { yield ["15/06/1981", "", 1, '1981-06-15']; yield ["15/06/1981 30/12/1987", "", 2, '1981-06-15', '1987-12-30']; yield ["diallo 15/06/1981", "diallo", 1, '1981-06-15']; yield ["diallo 31/03/1981", "diallo", 1, '1981-03-31']; yield ["diallo 15-06-1981", "diallo", 1, '1981-06-15']; yield ["diallo 1981-12-08", "diallo", 1, '1981-12-08']; yield ["diallo", "diallo", 0]; } }