Example #1
0
 public function testFlattenToTree()
 {
     $source = [3944 => 'VI/Авто', 3945 => 'VI/Авто/Отечественные авто', 3946 => 'VI/Авто/Иномарки', 3947 => 'VI/Рынок/Фондовый', 3948 => 'AiData/Магазин/Книги', 3949 => 'AiData/Магазин/Колёса,Шины'];
     $wait = ['VI' => ['__tree' => ['Авто' => ['__value' => 3944, '__tree' => ['Отечественные авто' => ['__value' => 3945], 'Иномарки' => ['__value' => 3946]]], 'Рынок' => ['__tree' => ['Фондовый' => ['__value' => 3947]]]]], 'AiData' => ['__tree' => ['Магазин' => ['__tree' => ['Книги' => ['__value' => 3948], 'Колёса,Шины' => ['__value' => 3949]]]]]];
     $tree = \Cloudstash\Helper\Arr::flattenToTree($source, '/');
     $this->assertTrue($tree == $wait, 'Bad flatten to tree');
     $tree = \Cloudstash\Helper\Arr::flattenToTree($source, ['/']);
     $this->assertTrue($tree == $wait, 'Bad flatten to tree from single array delimiters stack');
     $source = [3944 => 'VI/Авто', 3945 => 'VI/Авто/Отечественные авто', 3946 => 'VI/Авто/Иномарки', 3947 => 'VI_Рынок_Фондовый', 3948 => 'AiData/Магазин/Книги', 3949 => 'AiData/Магазин/Колёса_Шины'];
     $wait = ['VI' => ['__tree' => ['Авто' => ['__value' => 3944, '__tree' => ['Отечественные авто' => ['__value' => 3945], 'Иномарки' => ['__value' => 3946]]], 'Рынок' => ['__tree' => ['Фондовый' => ['__value' => 3947]]]]], 'AiData' => ['__tree' => ['Магазин' => ['__tree' => ['Книги' => ['__value' => 3948], 'Колёса_Шины' => ['__value' => 3949]]]]]];
     $tree = \Cloudstash\Helper\Arr::flattenToTree($source, ['/', '_']);
     $this->assertTrue($tree == $wait, 'Bad flatten to tree from multiple array delimiters stack');
 }