/** * Allow to create convert data in standard unit for metrics * * @param AbstractMetric $metric */ protected function createMetricBaseValues(AbstractMetric $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_converts_metric_data_before_updating(LifecycleEventArgs $args, AbstractMetric $metric, MeasureManager $manager, MeasureConverter $converter) { $args->getObject()->willReturn($metric); $metric->getUnit()->willReturn('cm'); $metric->getFamily()->willReturn('distance'); $metric->getData()->willReturn(100); $manager->getStandardUnitForFamily('distance')->willReturn('m'); $converter->setFamily('distance')->shouldBeCalled()->willReturn($converter); $converter->convertBaseToStandard('cm', 100)->willReturn(1); $metric->setBaseData(1)->shouldBeCalled()->willReturn($metric); $metric->setBaseUnit('m')->shouldBeCalled(); $this->preUpdate($args); }
function it_converts_metric_data_before_updating(LifecycleEventArgs $args, MetricInterface $metric, MeasureManager $manager, MeasureConverter $converter, DocumentManager $dm, UnitOfWork $uow) { $args->getObject()->willReturn($metric); $args->getObjectManager()->willReturn($dm); $dm->getUnitOfWork()->willReturn($uow); $uow->recomputeSingleDocumentChangeSet(Argument::type('Doctrine\\Common\\Persistence\\Mapping\\ClassMetadata'), $metric)->shouldBeCalled(); $metric->getUnit()->willReturn('cm'); $metric->getFamily()->willReturn('distance'); $metric->getData()->willReturn(100); $manager->getStandardUnitForFamily('distance')->willReturn('m'); $converter->setFamily('distance')->shouldBeCalled()->willReturn($converter); $converter->convertBaseToStandard('cm', 100)->willReturn(1); $metric->setBaseData(1)->shouldBeCalled()->willReturn($metric); $metric->setBaseUnit('m')->shouldBeCalled(); $this->preUpdate($args); }