OrderedFixtureTest.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace Doctrine\Tests\Common\DataFixtures;
  3. use Doctrine\Common\DataFixtures\Loader;
  4. use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
  5. use Doctrine\Common\DataFixtures\FixtureInterface;
  6. use Doctrine\Common\Persistence\ObjectManager;
  7. /**
  8. * Test Fixture ordering.
  9. *
  10. * @author Gediminas Morkevicius <gediminas.morkevicius@gmail.com>
  11. */
  12. class OrderedFixtureTest extends BaseTest
  13. {
  14. public function testFixtureOrder()
  15. {
  16. $loader = new Loader();
  17. $loader->addFixture(new OrderedFixture1);
  18. $loader->addFixture(new OrderedFixture2);
  19. $loader->addFixture(new OrderedFixture3);
  20. $loader->addFixture(new BaseFixture1);
  21. $orderedFixtures = $loader->getFixtures();
  22. $this->assertCount(4, $orderedFixtures);
  23. $this->assertInstanceOf(BaseFixture1::class, $orderedFixtures[0]);
  24. $this->assertInstanceOf(OrderedFixture2::class, $orderedFixtures[1]);
  25. $this->assertInstanceOf(OrderedFixture1::class, $orderedFixtures[2]);
  26. $this->assertInstanceOf(OrderedFixture3::class, $orderedFixtures[3]);
  27. }
  28. }
  29. class OrderedFixture1 implements FixtureInterface, OrderedFixtureInterface
  30. {
  31. public function load(ObjectManager $manager)
  32. {}
  33. public function getOrder()
  34. {
  35. return 5;
  36. }
  37. }
  38. class OrderedFixture2 implements FixtureInterface, OrderedFixtureInterface
  39. {
  40. public function load(ObjectManager $manager)
  41. {}
  42. public function getOrder()
  43. {
  44. return 2;
  45. }
  46. }
  47. class OrderedFixture3 implements FixtureInterface, OrderedFixtureInterface
  48. {
  49. public function load(ObjectManager $manager)
  50. {}
  51. public function getOrder()
  52. {
  53. return 8;
  54. }
  55. }
  56. class BaseFixture1 implements FixtureInterface
  57. {
  58. public function load(ObjectManager $manager)
  59. {}
  60. }