public function testRoots()
 {
     $data = [1, 14];
     $this->assertEquals($data, array_map(function ($value) {
         return $value->id;
     }, Node::find()->roots()->all()));
     $this->assertEquals($data, array_map(function ($value) {
         return $value->id;
     }, AttributeModeNode::find()->roots()->all()));
     $this->assertEquals($data, array_map(function ($value) {
         return $value->id;
     }, MultipleTreeNode::find()->roots()->all()));
 }
 public function testDeleteWithChildrenRoot()
 {
     $this->assertEquals(13, Node::findOne(1)->deleteWithChildren());
     $this->assertEquals(13, AttributeModeNode::findOne(1)->deleteWithChildren());
     $this->assertEquals(13, MultipleTreeNode::findOne(1)->deleteWithChildren());
     $dataSet = $this->getConnection()->createDataSet(['tree', 'attribute_mode_tree', 'multiple_tree']);
     $expectedDataSet = new ArrayDataSet(require __DIR__ . '/data/test-delete-with-children-root.php');
     $this->assertDataSetsEqual($expectedDataSet, $dataSet);
 }