1<?php
2class MultipleDataProviderTest extends PHPUnit_Framework_TestCase
3{
4    /**
5     * @dataProvider providerA
6     * @dataProvider providerB
7     * @dataProvider providerC
8     */
9    public function testOne()
10    {
11    }
12
13    /**
14     * @dataProvider providerD
15     * @dataProvider providerE
16     * @dataProvider providerF
17     */
18    public function testTwo()
19    {
20    }
21
22    public static function providerA()
23    {
24        return [
25            ['ok', null, null],
26            ['ok', null, null],
27            ['ok', null, null]
28        ];
29    }
30
31    public static function providerB()
32    {
33        return [
34            [null, 'ok', null],
35            [null, 'ok', null],
36            [null, 'ok', null]
37        ];
38    }
39
40    public static function providerC()
41    {
42        return [
43            [null, null, 'ok'],
44            [null, null, 'ok'],
45            [null, null, 'ok']
46        ];
47    }
48
49    public static function providerD()
50    {
51        yield ['ok', null, null];
52        yield ['ok', null, null];
53        yield ['ok', null, null];
54    }
55
56    public static function providerE()
57    {
58        yield [null, 'ok', null];
59        yield [null, 'ok', null];
60        yield [null, 'ok', null];
61    }
62
63    public static function providerF()
64    {
65        $object = new ArrayObject(
66            [
67                [null, null, 'ok'],
68                [null, null, 'ok'],
69                [null, null, 'ok']
70            ]
71        );
72
73        return $object->getIterator();
74    }
75}
76