/** * Allow to create convert data in standard unit for metrics * * @param MetricInterface $metric */ protected function createMetricBaseValues(MetricInterface $metric) { $baseUnit = $this->manager->getStandardUnitForFamily($metric->getFamily()); if (is_numeric($metric->getData())) { $baseData = $this->converter->setFamily($metric->getFamily())->convertBaseToStandard($metric->getUnit(), $metric->getData()); } else { $baseData = null; } $metric->setBaseData($baseData)->setBaseUnit($baseUnit); }
function it_normalizes_metric_when_has_data(MetricInterface $metric) { $metric->getData()->willReturn(42.55); $metric->getUnit()->willReturn('GRAM'); $metric->getBaseData()->willReturn(0.04255); $metric->getBaseUnit()->willReturn('KILOGRAM'); $metric->getFamily()->willReturn('Weight'); $this->normalize($metric, 'mongodb_json', [])->shouldReturn(['data' => 42.55, 'unit' => 'GRAM', 'baseData' => 0.04255, 'baseUnit' => 'KILOGRAM', 'family' => 'Weight']); }