Bravo3\Orm\Tests\AbstractOrmTest::entityManagerDataProvider PHP Method

entityManagerDataProvider() public method

Gets an array of EntityManager's with different drivers
public entityManagerDataProvider ( ) : EntityManager[]
return Bravo3\Orm\Services\EntityManager[]
    public function entityManagerDataProvider()
    {
        $drivers = [$this->getRedisDriver(), $this->getFsDriver(), $this->getTarDriver(), $this->getZipDriver()];
        $ems = [];
        /** @var DriverInterface $driver */
        foreach ($drivers as $index => $driver) {
            $driver->setDebugMode(true);
            $mapper = new AnnotationMapper();
            $em = EntityManager::build($driver, $mapper);
            $temp = sys_get_temp_dir() . '/bravo3-orm/' . $index;
            if (!file_exists($temp)) {
                mkdir($temp, 0777, true);
            }
            $em->getConfig()->setCacheDir($temp);
            $ems[] = [$em];
        }
        // Alternative mappers - run these against fresh filesystem databases
        $mappers = [new YamlMapper([__DIR__ . '/Resources/mappings.yml']), new ChainedMapper([new AnnotationMapper(), new YamlMapper([__DIR__ . '/Resources/mappings.yml'])])];
        $index = 0;
        foreach ($mappers as $mapper) {
            $ems[] = [EntityManager::build($this->getFsDriver('fs-db-' . ++$index), $mapper)];
        }
        return $ems;
    }