RedUNIT\Base\Aliasing::testShadow PHP Метод

testShadow() публичный Метод

Switching aliases (->alias) should not change other list during storage.
public testShadow ( ) : void
Результат void
    public function testShadow()
    {
        list($project1, $project2) = R::dispense('project', 2);
        list($irene, $ilse) = R::dispense('person', 2);
        $project1->developer = $ilse;
        $project1->designer = $irene;
        $project2->developer = $ilse;
        R::storeAll(array($project1, $project2));
        $ilse = R::load('person', $ilse->id);
        $irene = R::load('person', $irene->id);
        asrt(count($ilse->alias('developer')->ownProject), 2);
        asrt(count($ilse->alias('designer')->ownProject), 0);
        R::store($ilse);
        $ilse = R::load('person', $ilse->id);
        $irene = R::load('person', $irene->id);
        asrt(count($ilse->alias('designer')->ownProject), 0);
        asrt(count($ilse->alias('developer')->ownProject), 2);
        R::storeAll(array($ilse, $irene));
        $ilse = R::load('person', $ilse->id);
        $irene = R::load('person', $irene->id);
        asrt(count($ilse->alias('designer')->ownProject), 0);
        asrt(count($ilse->alias('developer')->ownProject), 2);
        asrt(count($irene->alias('designer')->ownProject), 1);
        asrt(count($irene->alias('developer')->ownProject), 0);
        R::storeAll(array($ilse, $irene));
        $ilse = R::load('person', $ilse->id);
        $irene = R::load('person', $irene->id);
        asrt(count($ilse->alias('designer')->ownProject), 0);
        asrt(count($ilse->alias('developer')->ownProject), 2);
        asrt(count($irene->alias('designer')->ownProject), 1);
        asrt(count($irene->alias('developer')->ownProject), 0);
    }