Passed
Pull Request — master (#167)
by
unknown
01:55
created

NonLocalValidationTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 3
dl 0
loc 38
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A validEmailsProvider() 0 7 1
A invalidEmailsProvider() 0 7 1
A testValidNonLocal() 0 5 1
A testInvalidNonLocal() 0 7 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
        $this->assertInstanceOf(LocalEmail::class, $validation->getError());
46
    }
47
}
48