/** * @dataProvider decodeProvider */ public function testDecode($polyline, $coordinates, $loggerMsg) { $this->object->setLogger($this->logger); $decodeResult = $this->object->decode($polyline); for ($i = 0; $i < count($coordinates); $i++) { $coordinateArray = explode(',', $coordinates[$i]); self::assertEquals($coordinateArray[0], $decodeResult[$i]->getLatitude()); self::assertEquals($coordinateArray[1], $decodeResult[$i]->getLongitude()); } if ($loggerMsg) { self::assertTrue($this->logger->hasRecord($loggerMsg)); } }
/** * @dataProvider createRouteProvider */ public function testCreateRoute($coordinates, $loggerMsg, $inputRouteCount) { $this->object->setLogger($this->logger); $route = $this->object->createRoute($coordinates); $inputRouteCoordinates = $route->getInputRoute(); self::assertEquals($inputRouteCount, count($inputRouteCoordinates)); foreach ($inputRouteCoordinates as $coordinate) { self::assertTrue($coordinate instanceof Coordinate); } if ($loggerMsg) { self::assertTrue($this->logger->hasRecord($loggerMsg)); } }
/** * @dataProvider getDirectionsProvider() */ public function testGetDirections500($coordinates, $remainingCoordinateCount, $initialCoordinateCount) { $obj = new Client('abcdefg', new Polyline(), $this->get500Mock()); $obj->setLogger($this->logger); $routeFactory = new RouteFactory(); $route = $routeFactory->createRoute($coordinates); $result = $obj->getDirections($route); self::assertTrue($this->logger->hasRecord('error Server error: `GET https://maps.googleapis.com/maps/api/directions/json?origin=50.1109756,' . '8.6824697&destination=50.1320079,8.6829269&waypoints=via:50.1131057,8.6935646%7Cvia:50.1114651,' . '8.704576%7Cvia:50.1128467,8.7049644%7Cvia:50.1173763,8.7084722%7Cvia:50.1292499,8.6924497&key=' . 'abcdefg` resulted in a `500 Internal Server Error` response:')); self::assertEquals($route, $result); }