LoaderTest.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace Doctrine\Tests\Common\DataFixtures;
  3. use Doctrine\Common\DataFixtures\FixtureInterface;
  4. use Doctrine\Common\DataFixtures\Loader;
  5. use Doctrine\Common\DataFixtures\SharedFixtureInterface;
  6. use TestFixtures\MyFixture1;
  7. use TestFixtures\NotAFixture;
  8. /**
  9. * Test fixtures loader.
  10. *
  11. * @author Jonathan H. Wage <jonwage@gmail.com>
  12. */
  13. class LoaderTest extends BaseTest
  14. {
  15. public function testLoadFromDirectory()
  16. {
  17. $loader = new Loader();
  18. $loader->addFixture($this->getMockBuilder(FixtureInterface::class)->setMockClassName('Mock1')->getMock());
  19. $loader->addFixture($this->getMockBuilder(FixtureInterface::class)->setMockClassName('Mock2')->getMock());
  20. $loader->addFixture($this->getMockBuilder(SharedFixtureInterface::class)->setMockClassName('Mock3')->getMock());
  21. $this->assertCount(3, $loader->getFixtures());
  22. $loader->loadFromDirectory(__DIR__.'/TestFixtures');
  23. $this->assertCount(7, $loader->getFixtures());
  24. $this->assertTrue($loader->isTransient(NotAFixture::class));
  25. $this->assertFalse($loader->isTransient(MyFixture1::class));
  26. }
  27. public function testLoadFromFile()
  28. {
  29. $loader = new Loader();
  30. $loader->addFixture($this->getMockBuilder(FixtureInterface::class)->setMockClassName('Mock1')->getMock());
  31. $loader->addFixture($this->getMockBuilder(FixtureInterface::class)->setMockClassName('Mock2')->getMock());
  32. $loader->addFixture($this->getMockBuilder(SharedFixtureInterface::class)->setMockClassName('Mock3')->getMock());
  33. $this->assertCount(3, $loader->getFixtures());
  34. $loader->loadFromFile(__DIR__.'/TestFixtures/MyFixture1.php');
  35. $this->assertCount(4, $loader->getFixtures());
  36. $loader->loadFromFile(__DIR__.'/TestFixtures/NotAFixture.php');
  37. $this->assertCount(4, $loader->getFixtures());
  38. $loader->loadFromFile(__DIR__.'/TestFixtures/MyFixture2.php');
  39. $this->assertCount(5, $loader->getFixtures());
  40. $this->assertTrue($loader->isTransient(NotAFixture::class));
  41. $this->assertFalse($loader->isTransient(MyFixture1::class));
  42. }
  43. public function testGetFixture()
  44. {
  45. $loader = new Loader();
  46. $loader->loadFromFile(__DIR__.'/TestFixtures/MyFixture1.php');
  47. $fixture = $loader->getFixture(MyFixture1::class);
  48. $this->assertInstanceOf(MyFixture1::class, $fixture);
  49. }
  50. }