/** * Checks the isValid method */ public function testIsValid() { self::$directionsRequest = new DirectionsRequest(); $this->assertFalse(self::$directionsRequest->isValid()); self::$directionsRequest->setDestination('address'); $this->assertFalse(self::$directionsRequest->isValid()); self::$directionsRequest = new DirectionsRequest(); self::$directionsRequest->setOrigin('address'); $this->assertFalse(self::$directionsRequest->isValid()); self::$directionsRequest = new DirectionsRequest(); self::$directionsRequest->setDestination('address1'); self::$directionsRequest->setOrigin('address2'); $this->assertTrue(self::$directionsRequest->isValid()); $waypointValidTest = new DirectionsWaypoint(); $waypointValidTest->setLocation('address3'); self::$directionsRequest->addWaypoint($waypointValidTest); $this->assertTrue(self::$directionsRequest->isValid()); $waypointInvalidTest = new DirectionsWaypoint(); self::$directionsRequest->addWaypoint($waypointInvalidTest); $this->assertFalse(self::$directionsRequest->isValid()); }
/** * Adds a waypoint to the directions request * * Available prototypes: * - public function addWaypoint(Ivory\GoogleMapBundle\Model\Services\Directions\DirectionsWaypoint $waypoint) * - public function addWaypoint(string $location) * - public function addWaypoint(double $latitude, double $longitude, boolean $noWrap) * - public function addWaypoint(Ivory\GoogleMapBundle\Model\Base\Coordinate $location) */ public function addWaypoint() { $args = func_get_args(); if (isset($args[0]) && $args[0] instanceof DirectionsWaypoint) { $this->waypoints[] = $args[0]; } else { if (isset($args[0]) && is_numeric($args[0]) && isset($args[1]) && is_numeric($args[1])) { $waypoint = new DirectionsWaypoint(); $waypoint->setLocation($args[0], $args[1]); if (isset($args[2]) && is_bool($args[2])) { $waypoint->getLocation()->setNoWrap($args[2]); } $this->waypoints[] = $waypoint; } else { if (isset($args[0]) && (is_string($args[0]) || $args[0] instanceof Coordinate)) { $waypoint = new DirectionsWaypoint(); $waypoint->setLocation($args[0]); $this->waypoints[] = $waypoint; } else { throw new \InvalidArgumentException(sprintf('%s' . PHP_EOL . '%s' . PHP_EOL . '%s' . PHP_EOL . '%s' . PHP_EOL . '%s' . PHP_EOL . '%s', 'The origin setter arguments are invalid.', 'The available prototypes are :', ' - public function addWaypoint(Ivory\\GoogleMapBundle\\Model\\Services\\Directions\\DirectionsWaypoint $waypoint)', ' - public function addWaypoint(string $location)', ' - public function addWaypoint(double $latitude, double $longitude, boolean $noWrap)', ' - public function addWaypoint(Ivory\\GoogleMapBundle\\Model\\Base\\Coordinate $location)')); } } } }
/** * Checks the isValid method */ public function testIsValid() { $this->assertFalse(self::$directionsWaypoint->isValid()); self::$directionsWaypoint->setLocation('foo'); $this->assertTrue(self::$directionsWaypoint->isValid()); }