Пример #1
0
 /**
  * @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']);
 }
Пример #2
0
 /**
  * Согласно заданию все нужно было сделать в одной
  * функции, пришлось делать враппер
  * @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);
 }