function it_increments_the_number_of_ticks(RateMeasureStorage $storage, RateMeasure $measure, Rate $rate) { $rate->getTicks()->willReturn(1); $measure->getTime()->willReturn(new \DateTime()); $measure->getRate()->willReturn($rate); $storage->find('id')->willReturn($measure); $storage->save('id', Argument::type(RateMeasure::class))->shouldBeCalled(); $this->tick('id'); }
/** * {@inheritdoc} */ public function tick($identifier) { $rate = $this->computeCurrentRate($identifier); $this->storage->save($identifier, new ImmutableRateMeasure(new CounterRate($rate), \DateTime::createFromFormat('U.u', microtime(true)))); }