/** * @return ResultAdapter */ public function newInstance() { $result = new ResultAdapter(); $callback = array($this, 'createFromId'); $result->setLoaderClosure(function ($geonameid) use($callback) { return call_user_func($callback, $geonameid); }); return $result; }
public function testFromArray() { $toponym = $this->toponymProvider(); $toponym = $toponym[0][0]; $adapter = new ResultAdapter(); $adapter->fromArray(array('geonameid' => $toponym->getId(), 'toponym' => $toponym)); $this->assertEquals($toponym->getName(), $adapter->getCity()); $adapter = new ResultAdapter(); $adapter->setLoaderClosure(function ($id) use($toponym) { return $id == $toponym->getId() ? $toponym : null; }); $adapter->fromArray(array('geonameid' => $toponym->getId())); $this->assertEquals($toponym->getName(), $adapter->getCity()); }