| Conditions | 6 | 
| Paths | 5 | 
| Total Lines | 19 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Tests | 16 | 
| CRAP Score | 6 | 
| Changes | 0 | ||
| 1 | <?php  | 
            ||
| 40 | 2 | public function selectTransition(\Traversable $transitions)  | 
            |
| 41 |     { | 
            ||
| 42 | 2 | $bestTransitions = array();  | 
            |
| 43 | 2 | $bestWeight = null;  | 
            |
| 44 | 2 |         foreach ($transitions as $transition) { | 
            |
| 45 | 2 |             if ($transition instanceof WeightedInterface) { | 
            |
| 46 | 2 | $weight = $transition->getWeight();  | 
            |
| 47 | 2 | $diff = ($weight - $bestWeight);  | 
            |
| 48 | 2 |                 if (($bestWeight === null) || ($diff >= $this->epsilon)) { | 
            |
| 49 | 2 | $bestWeight = $weight;  | 
            |
| 50 | 2 | $bestTransitions = array($transition);  | 
            |
| 51 | 2 |                 } elseif (abs($diff) < $this->epsilon) { | 
            |
| 52 | 1 | $bestTransitions[] = $transition;  | 
            |
| 53 | 1 | }  | 
            |
| 54 | 2 | }  | 
            |
| 55 | 2 | }  | 
            |
| 56 | |||
| 57 | 2 | return $this->innerSelector->selectTransition(new \ArrayIterator($bestTransitions));  | 
            |
| 58 | }  | 
            ||
| 59 | }  | 
            ||
| 60 |