Exemplo n.º 1
0
 /**
  * Will merge all edges that are parallel to to given edge
  *
  * @param Edge $newEdge
  */
 private function mergeParallelEdges(Edge $newEdge)
 {
     $parallelEdges = $newEdge->getEdgesParallel();
     if ($parallelEdges) {
         $mergedCapacity = 0;
         foreach ($parallelEdges as $parallelEdge) {
             $mergedCapacity += $parallelEdge->getCapacity();
         }
         $newEdge->setCapacity($newEdge->getCapacity() + $mergedCapacity);
         foreach ($parallelEdges as $parallelEdge) {
             $parallelEdge->destroy();
         }
     }
 }
Exemplo n.º 2
0
 /**
  * @expectedException InvalidArgumentException
  */
 public function testCapacityMustBePositive()
 {
     $this->edge->setCapacity(-10);
 }