/** * 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(); } } }
/** * @expectedException InvalidArgumentException */ public function testCapacityMustBePositive() { $this->edge->setCapacity(-10); }