RedUNIT\Base\Traverse::testTraversalWithSQL PHP Method

testTraversalWithSQL() public method

Test traversal with embedded SQL snippets.
public testTraversalWithSQL ( ) : void
return void
    public function testTraversalWithSQL()
    {
        $tasks = R::dispense('task', 10);
        foreach ($tasks as $key => $task) {
            $task->descr = 't' . $key;
        }
        $tasks[0]->ownTask = array($tasks[1], $tasks[9], $tasks[7]);
        $tasks[1]->ownTask = array($tasks[5]);
        $tasks[9]->ownTask = array($tasks[3], $tasks[8]);
        $tasks[2]->ownTask = array($tasks[4]);
        $tasks[7]->ownTask = array($tasks[6]);
        R::storeAll($tasks);
        $task = R::load('task', $tasks[0]->id);
        $todo = array();
        $task->with(' ORDER BY descr ASC ')->traverse('ownTaskList', function ($t) use(&$todo) {
            $todo[] = $t->descr;
        });
        asrt(implode(',', $todo), 't1,t5,t7,t6,t9,t3,t8');
        $task = R::load('task', $tasks[0]->id);
        $todo = array();
        $task->withCondition(' ( descr = ? OR descr = ? ) ', array('t7', 't6'))->traverse('ownTaskList', function ($task) use(&$todo) {
            $todo[] = $task->descr;
        });
        asrt(implode(',', $todo), 't7,t6');
    }