| Total Complexity | 3 |
| Total Lines | 32 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | <?php |
||
| 11 | abstract class AbstractParserTest extends TestCase |
||
| 12 | { |
||
| 13 | /** @var Parser */ |
||
| 14 | private $parser; |
||
| 15 | |||
| 16 | public function validUserAgentsDataProvider(): array |
||
| 17 | { |
||
| 18 | return [ |
||
| 19 | [ |
||
| 20 | 'Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0', |
||
| 21 | UserAgent::create('Firefox', '62.0', 'Linux'), |
||
| 22 | ], |
||
| 23 | ]; |
||
| 24 | } |
||
| 25 | |||
| 26 | protected function setParser(Parser $parser): void |
||
| 27 | { |
||
| 28 | $this->parser = $parser; |
||
| 29 | } |
||
| 30 | |||
| 31 | /** |
||
| 32 | * @test |
||
| 33 | * @dataProvider validUserAgentsDataProvider |
||
| 34 | * |
||
| 35 | * @param string $userAgent |
||
| 36 | * @param UserAgent $expectedUserAgent |
||
| 37 | */ |
||
| 38 | public function parseValidUserAgent(string $userAgent, UserAgent $expectedUserAgent): void |
||
| 39 | { |
||
| 40 | $resultedUserAgent = $this->parser->parse($userAgent); |
||
| 41 | |||
| 42 | $this->assertEquals($expectedUserAgent, $resultedUserAgent); |
||
| 43 | } |
||
| 45 |