/** * @test */ public function whenItemIsUnderConstructionItWaitsBeforeIncrementing() { $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('incrementItem')->with('foo', 'increment')->will($this->returnValue(true)); $return = $this->cache->incrementItem('foo', 'increment'); $this->assertTrue($return); }