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