Passed
Branch moving_tests_around (1c37ee)
by Eduardo Gulias
04:42 queued 01:17
created

DNSCheckValidationTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Importance

Changes 1
Bugs 1 Features 0
Metric Value
wmc 4
c 1
b 1
f 0
lcom 0
cbo 5
dl 0
loc 30
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A testValidDNS() 0 5 1
A testInvalidDNS() 0 5 1
A testDNSWarnings() 0 7 1
A testNoDNSError() 0 7 1
1
<?php
2
3
namespace Egulias\Tests\EmailValidator\Validation;
4
5
use Egulias\EmailValidator\EmailLexer;
6
use Egulias\EmailValidator\Exception\NoDNSRecord;
7
use Egulias\EmailValidator\Validation\DNSCheckValidation;
8
use Egulias\EmailValidator\Warning\NoDNSMXRecord;
9
10
class DNSCheckValidationTest extends \PHPUnit_Framework_TestCase
11
{
12
    public function testValidDNS()
13
    {
14
        $validation = new DNSCheckValidation();
15
        $this->assertTrue($validation->isValid("[email protected]", new EmailLexer()));
16
    }
17
    
18
    public function testInvalidDNS()
19
    {
20
        $validation = new DNSCheckValidation();
21
        $this->assertFalse($validation->isValid("[email protected]", new EmailLexer()));
22
    }
23
    
24
    public function testDNSWarnings()
25
    {
26
        $validation = new DNSCheckValidation();
27
        $expectedWarnings = [NoDNSMXRecord::CODE => new NoDNSMXRecord()];
28
        $validation->isValid("[email protected]", new EmailLexer());
29
        $this->assertEquals($expectedWarnings, $validation->getWarnings());
30
    }
31
    
32
    public function testNoDNSError()
33
    {
34
        $validation = new DNSCheckValidation();
35
        $expectedError = new NoDNSRecord();
36
        $validation->isValid("[email protected]", new EmailLexer());
37
        $this->assertEquals($expectedError, $validation->getError());
38
    }
39
}
40