/**
  * Round all approved amount down to nearest full unit
  *
  * @param  ClaimArray $claims
  * @param  SEK $funds
  * @return SEK
  */
 public function allocate(ClaimArray $claims, SEK $funds)
 {
     $strategy = new \byrokrat\amount\Rounder\RoundDown();
     $sumBeforeAction = $claims->sumApprovedAmounts();
     foreach ($claims as $claim) {
         $claim->setApprovedAmount($claim->getApprovedAmount()->roundTo(0, $strategy));
     }
     return $funds->subtract($claims->sumApprovedAmounts()->subtract($sumBeforeAction));
 }
 public function compare(ClaimArray $left, ClaimArray $right)
 {
     return strcmp((string) $left->sumApprovedAmounts(), (string) $right->sumApprovedAmounts());
 }