-
-
Notifications
You must be signed in to change notification settings - Fork 88
/
IteratorSourceIteratorTest.php
87 lines (69 loc) · 2.05 KB
/
IteratorSourceIteratorTest.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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
declare(strict_types=1);
/*
* This file is part of the Sonata Project package.
*
* (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Sonata\Exporter\Tests\Source;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
use Sonata\Exporter\Source\IteratorSourceIterator;
final class IteratorSourceIteratorTest extends TestCase
{
private IteratorSourceIterator $sourceIterator;
/**
* @var \Iterator<mixed, mixed>&MockObject
*/
private \Iterator $iterator;
protected function setUp(): void
{
$this->iterator = $this->createMock(\Iterator::class);
$this->sourceIterator = new IteratorSourceIterator($this->iterator);
}
public function testGetIterator(): void
{
static::assertSame($this->iterator, $this->sourceIterator->getIterator());
}
public function testCurrent(): void
{
$this->iterator
->expects(static::once())
->method('current')
->willReturn(['current']);
static::assertSame(['current'], $this->sourceIterator->current());
}
public function testNext(): void
{
$this->iterator
->expects(static::once())
->method('next');
$this->sourceIterator->next();
}
public function testKey(): void
{
$this->iterator
->expects(static::once())
->method('key')
->willReturn('key');
static::assertSame('key', $this->sourceIterator->key());
}
public function testValid(): void
{
$this->iterator
->expects(static::once())
->method('valid')
->willReturn(true);
static::assertTrue($this->sourceIterator->valid());
}
public function testRewind(): void
{
$this->iterator
->expects(static::once())
->method('rewind');
$this->sourceIterator->rewind();
}
}