ArrayDataSet   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 5
lcom 0
cbo 3
dl 0
loc 23
ccs 14
cts 14
cp 1
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-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
}