/
RowTest.php
58 lines (40 loc) · 1.33 KB
/
RowTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php declare(strict_types = 1);
/** @testCase */
namespace NextrasTests\Dbal;
use Nextras\Dbal\Exception\InvalidArgumentException;
use Nextras\Dbal\Result\Row;
use Tester\Assert;
require_once __DIR__ . '/../../bootstrap.php';
class RowTest extends TestCase
{
public function testPropertyAccess()
{
$row = new Row(['name' => 'Jon', 'surname' => 'Snow']);
Assert::same('Jon', $row->name);
Assert::same('Snow', $row->surname);
Assert::true(isset($row->name));
Assert::false(isset($row->NAME));
Assert::throws(function () use ($row) {
$row->NAME;
}, InvalidArgumentException::class, "Column 'NAME' does not exist.");
Assert::throws(function () use ($row) {
$row->Name;
}, InvalidArgumentException::class, "Column 'Name' does not exist, did you mean 'name'?");
Assert::throws(function () use ($row) {
$row->suname;
}, InvalidArgumentException::class, "Column 'suname' does not exist, did you mean 'surname'?");
}
public function testGetNthField()
{
$row = new Row(['name' => 'Jon', 'surname' => 'Snow']);
Assert::same('Jon', $row->getNthField(0));
Assert::same('Snow', $row->getNthField(1));
}
public function testToArray()
{
$row = new Row(['name' => 'Jon', 'surname' => 'Snow']);
Assert::same(['name' => 'Jon', 'surname' => 'Snow'], $row->toArray());
}
}
$test = new RowTest();
$test->run();