/**
  * @param Dimensions $dimensions
  * @return Weight
  */
 public function calculate(Dimensions $dimensions)
 {
     $length = $this->lengthConverter->convert($dimensions->getLength(), $dimensions->getUnit(), LengthUnits::IN);
     $width = $this->lengthConverter->convert($dimensions->getWidth(), $dimensions->getUnit(), LengthUnits::IN);
     $height = $this->lengthConverter->convert($dimensions->getHeight(), $dimensions->getUnit(), LengthUnits::IN);
     $volume = $this->math->mul($length, $width);
     $volume = $this->math->mul($volume, $height);
     $value = $this->math->div($volume, $this->getFactor());
     $value = $this->math->roundUp($value, 3);
     $weight = new Weight();
     $weight->setValue($value);
     $weight->setUnit(WeightUnits::LB);
     return $weight;
 }