ArrayDataSet::__construct()   A
last analyzed

Complexity

Conditions 5
Paths 7

Size

Total Lines 20

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 14
CRAP Score 5

Importance

Changes 0
Metric Value
dl 0
loc 20
ccs 14
cts 14
cp 1
rs 9.2888
c 0
b 0
f 0
cc 5
nc 7
nop 1
crap 5
1
<?php
2
/**
3
 * @link https://github.com/paulzi/yii2-nested-sets
4
 * @copyright Copyright (c) 2015 PaulZi <[email protected]>
5
 * @license MIT (https://github.com/paulzi/yii2-nested-sets/blob/master/LICENSE)
6
 */
7
8
namespace paulzi\nestedsets\tests;
9
10
/**
11
 * @author PaulZi <[email protected]>
12
 */
13
class ArrayDataSet extends \PHPUnit_Extensions_Database_DataSet_ArrayDataSet
14
{
15 96
    public function __construct(array $data)
16
    {
17 96
        foreach ($data as $tableName => $rows) {
18 96
            $columns = array();
19 96
            if (isset($rows['columns'])) {
20 3
                $columns = $rows['columns'];
21 3
                unset($rows['columns']);
22 96
            } elseif (isset($rows[0])) {
23 96
                $columns = array_keys($rows[0]);
24
            }
25
26 96
            $metaData = new \PHPUnit_Extensions_Database_DataSet_DefaultTableMetaData($tableName, $columns);
27 96
            $table    = new \PHPUnit_Extensions_Database_DataSet_DefaultTable($metaData);
28
29 96
            foreach ($rows AS $row) {
30 96
                $table->addRow($row);
31
            }
32 96
            $this->tables[$tableName] = $table;
33
        }
34
    }
35
}