/** * @test */ public function whenItemIsUnderConstructionItWaitsBeforeDecrementing() { $storage = $this->mockWithPhpUnit(); $storage->expects($this->at(0))->method('hasItem')->with($this->delayedKey)->will($this->returnValue(true)); $storage->expects($this->at(1))->method('hasItem')->with($this->delayedKey)->will($this->returnValue(false)); $storage->expects($this->at(2))->method('decrementItem')->with('foo', 'decrement')->will($this->returnValue(true)); $return = $this->cache->decrementItem('foo', 'decrement'); $this->assertTrue($return); }