ArrayDataSet   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 5
lcom 0
cbo 3
dl 0
loc 23
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 20 5
1
<?php
2
/**
3
 * @link https://github.com/paulzi/yii2-auto-tree
4
 * @copyright Copyright (c) 2015 PaulZi <[email protected]>
5
 * @license MIT (https://github.com/paulzi/yii2-auto-tree/blob/master/LICENSE)
6
 */
7
8
namespace paulzi\autotree\tests;
9
10
/**
11
 * @author PaulZi <[email protected]>
12
 */
13
class ArrayDataSet extends \PHPUnit_Extensions_Database_DataSet_ArrayDataSet
14
{
15
    public function __construct(array $data)
16
    {
17
        foreach ($data as $tableName => $rows) {
18
            $columns = array();
19
            if (isset($rows['columns'])) {
20
                $columns = $rows['columns'];
21
                unset($rows['columns']);
22
            } elseif (isset($rows[0])) {
23
                $columns = array_keys($rows[0]);
24
            }
25
26
            $metaData = new \PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData($tableName, $columns);
27
            $table    = new \PHPUnit_Extensions_Database_DataSet_DefaultTable($metaData);
28
29
            foreach ($rows AS $row) {
30
                $table->addRow($row);
31
            }
32
            $this->tables[$tableName] = $table;
33
        }
34
    }
35
}