/** * @expectedException Travel_BadPriceException */ public function testExtendBadPrice() { $from = 'A'; $to = 'C'; $priceList = array(array('from' => 'A', 'to' => 'B', 'price' => 3), array('from' => 'A', 'to' => 'D', 'price' => 3), array('from' => 'A', 'to' => 'F', 'price' => 6), array('from' => 'B', 'to' => 'D', 'price' => 80), array('from' => 'B', 'to' => 'E', 'price' => 80), array('from' => 'C', 'to' => 'H', 'price' => 80)); $routeSearch = new Travel_Route($priceList); $routeSearch->addRoute('B', 'C', 'даром'); $result = $routeSearch->search($from, $to); $this->assertEquals(83, $result['price']); }
/** * Согласно заданию все нужно было сделать в одной * функции, пришлось делать враппер * @param string $from отправление * @param string $to назначение * @param array $price массив стоимостей * @return array возвращает стоимость и маршрут в формате * array( * 'price'=>0, * 'path'=>array() * ); * @throws Travel_BadPriceException в том случае когда прай-слист пустой * содержит не корректные данные или не достаточен для решения */ public static function findRoute($from, $to, $price) { $routeSearch = new Travel_Route($price); return $routeSearch->search($from, $to); }