/** * @param string $identifier * * @return RateMeasure */ private function getMeasure($identifier) { if (null === ($measure = $this->storage->find($identifier))) { $measure = new ImmutableRateMeasure(new CounterRate(0), \DateTime::createFromFormat('U', '0')); } return $measure; }
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'); }