/** * It should resolve given values to the overridden values in the case that * the values are overridden (dest unit and mode). */ public function testResolveDestUnitAndModeAndPrecision() { $unit = new TimeUnit(TimeUnit::SECONDS, TimeUnit::MINUTES, TimeUnit::MODE_THROUGHPUT, 10); $this->assertEquals(TimeUnit::MILLISECONDS, $unit->resolveDestUnit(TimeUnit::MILLISECONDS)); $this->assertEquals(TimeUnit::MODE_TIME, $unit->getMode(TimeUnit::MODE_TIME)); $this->assertEquals(5, $unit->resolvePrecision(5)); $unit->overrideDestUnit(TimeUnit::DAYS); $unit->overrideMode(TimeUnit::MODE_TIME); $unit->overridePrecision(15); $this->assertEquals(TimeUnit::DAYS, $unit->resolveDestUnit(TimeUnit::MINUTES)); $this->assertEquals(TimeUnit::MODE_TIME, $unit->resolveMode(TimeUnit::MODE_THROUGHPUT)); $this->assertEquals(15, $unit->resolvePrecision(5)); }
/** * {@inheritdoc} */ public function format($subject, array $options) { return $this->timeUnit->format($subject, in_array('unit', $options['resolve']) ? $this->timeUnit->resolveDestUnit($options['unit']) : $options['unit'], in_array('mode', $options['resolve']) ? $this->timeUnit->resolveMode($options['mode']) : $options['mode'], $this->timeUnit->resolvePrecision($options['precision'])); }