/** * @covers de\detert\sebastian\slimline\Tests\Helper\Factory::create * @covers de\detert\sebastian\slimline\Tests\Helper\Factory::getNumOfCreateCalls */ public function testThatFactoryHandlesMultipleMocks() { $factory = new Factory(); $this->assertEquals(0, $factory->getNumOfCreateCalls('dummy')); $dummy = new Dummy(new Pool()); $factory->setMock('dummy', $dummy); $this->assertEquals(0, $factory->getNumOfCreateCalls('dummy')); $mock = $this->getMock('\\de\\detert\\sebastian\\slimline\\Tests\\Helper\\Dummy', array(), array(new Pool())); $factory->setMock('mock', $mock); $this->assertEquals(0, $factory->getNumOfCreateCalls('mock')); $actual = $factory->create('dummy'); $this->assertTrue($dummy === $actual); $this->assertEquals(1, $factory->getNumOfCreateCalls('dummy')); $this->assertEquals(0, $factory->getNumOfCreateCalls('mock')); $actual = $factory->create('mock'); $this->assertTrue($mock === $actual); $this->assertEquals(1, $factory->getNumOfCreateCalls('dummy')); $this->assertEquals(1, $factory->getNumOfCreateCalls('mock')); $this->assertEquals(0, $factory->getNumOfCreateCalls(get_class($this))); $factory->create(get_class($this)); $this->assertEquals(1, $factory->getNumOfCreateCalls(get_class($this))); $this->assertEquals(1, $factory->getNumOfCreateCalls('dummy')); $this->assertEquals(1, $factory->getNumOfCreateCalls('mock')); }