Ejemplo n.º 1
0
 /**
  * @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'));
 }