Passed
Pull Request — master (#167)
by
unknown
02:25
created

NonLocalValidationTest::testValidNonLocal()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 5
rs 9.4285
c 1
b 0
f 0
cc 1
eloc 3
nc 1
nop 1
1
<?php
2
3
namespace Egulias\Tests\EmailValidator\Validation;
4
5
use Egulias\EmailValidator\EmailLexer;
6
use Egulias\EmailValidator\Validation\Error\LocalEmail;
7
use Egulias\EmailValidator\Validation\NonLocalValidation;
8
use PHPUnit\Framework\TestCase;
9
10
class NonLocalValidationTest extends TestCase
11
{
12
    public function validEmailsProvider()
13
    {
14
        return [
15
            ['[email protected]'],
16
            ['[email protected]'],
17
        ];
18
    }
19
20
    public function invalidEmailsProvider()
21
    {
22
        return [
23
            ['test@localhost'],
24
            ['test.test@example'],
25
        ];
26
    }
27
28
    /**
29
     * @dataProvider validEmailsProvider
30
     */
31
    public function testValidNonLocal($validEmail)
32
    {
33
        $validation = new NonLocalValidation();
34
        $this->assertTrue($validation->isValid($validEmail, new EmailLexer()));
35
    }
36
37
    /**
38
     * @dataProvider invalidEmailsProvider
39
     */
40
    public function testInvalidNonLocal($invalidEmail)
41
    {
42
        $validation = new NonLocalValidation();
43
        $this->assertFalse($validation->isValid($invalidEmail, new EmailLexer()));
44
        
45
        $expectedError = new LocalEmail();
46
        $this->assertEquals($expectedError, $validation->getError());
47
    }
48
}
49