createService(); $geopoint = $service->createFromString('20.303', '30.22'); $this->assertInstanceOf(GEOPoint::class, $geopoint); $this->assertEquals(20.303, $geopoint->latitude); $this->assertEquals(30.22, $geopoint->longitude); } #[DataProvider('invalidGeoPointProvider')] public function testCreateFromStringInvalidString(string $lat, string $lon): void { $service = $this->createService(); $geopoint = $service->createFromString($lat, $lon); $this->assertEquals(null, $geopoint); } /** * @return array> */ public static function invalidGeoPointProvider(): array { return [ ['foo', 'foo'], ['33.33', 'foo'], ['foo', '33.33'], ['foo3', 'foo3'], ['33.33', 'foo3'], ['foo3', '33.33'], ]; } public function createService(): GEOPointFactory { return new GEOPointFactory(); } }