/** * Basic sample Address creation from an array, feel free to implement your own * @param array $address * @return Address */ public static function fromArray(array $address) { $street = ['number' => self::getArrayValueFromKeyOrNull($address, 'street_number'), 'name' => self::getArrayValueFromKeyOrNull($address, 'street_name')]; $country = ['name' => self::getArrayValueFromKeyOrNull($address, 'country_name'), 'code' => self::getArrayValueFromKeyOrNull($address, 'country_code'), 'continent' => self::getArrayValueFromKeyOrNull($address, 'continent')]; $coordinates = ['latitude' => self::getArrayValueFromKeyOrNull($address, 'latitude'), 'longitude' => self::getArrayValueFromKeyOrNull($address, 'longitude'), 'elevation' => self::getArrayValueFromKeyOrNull($address, 'elevation')]; return new AddressValueObject(Assembler\Street::fromArray($street), self::getArrayValueFromKeyOrNull($address, 'city'), self::getArrayValueFromKeyOrNull($address, 'postalcode'), self::getArrayValueFromKeyOrNull($address, 'region'), Assembler\Country::fromArray($country), Assembler\Coordinates::fromArray($coordinates)); }
public function testFromArray($inputArray, $expectedResult) { $this->given($country = TestedCountryAssembler::fromArray($inputArray))->string($country->__toString())->isIdenticalTo($expectedResult); }