Code Duplication    Length = 23-23 lines in 2 locations

Tests/EmailValidator/Validation/MultipleValidationWithAndTest.php 2 locations

@@ 74-96 (lines=23) @@
71
        $this->assertEquals($expectedResult, $multipleValidation->getWarnings());
72
    }
73
74
    public function testGathersAllTheErrors()
75
    {
76
        $error1 = new CommaInDomain();
77
        $error2 = new NoDomainPart();
78
79
        $expectedResult = new MultipleErrors([$error1, $error2]);
80
81
        $lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock();
82
83
        $validation1 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
84
        $validation1->expects($this->any())->method("isValid")->willReturn(true);
85
        $validation1->expects($this->once())->method("getWarnings")->willReturn([]);
86
        $validation1->expects($this->once())->method("getError")->willReturn($error1);
87
88
        $validation2 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
89
        $validation2->expects($this->any())->method("isValid")->willReturn(false);
90
        $validation2->expects($this->once())->method("getWarnings")->willReturn([]);
91
        $validation2->expects($this->once())->method("getError")->willReturn($error2);
92
93
        $multipleValidation = new MultipleValidationWithAnd([$validation1, $validation2]);
94
        $multipleValidation->isValid("[email protected]", $lexer);
95
        $this->assertEquals($expectedResult, $multipleValidation->getError());
96
    }
97
98
    public function testStopsAfterFirstError()
99
    {
@@ 98-120 (lines=23) @@
95
        $this->assertEquals($expectedResult, $multipleValidation->getError());
96
    }
97
98
    public function testStopsAfterFirstError()
99
    {
100
        $error1 = new CommaInDomain();
101
        $error2 = new NoDomainPart();
102
103
        $expectedResult = new MultipleErrors([$error1]);
104
105
        $lexer = $this->getMockBuilder("Egulias\\EmailValidator\\EmailLexer")->getMock();
106
107
        $validation1 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
108
        $validation1->expects($this->any())->method("isValid")->willReturn(true);
109
        $validation1->expects($this->once())->method("getWarnings")->willReturn([]);
110
        $validation1->expects($this->once())->method("getError")->willReturn($error1);
111
112
        $validation2 = $this->getMockBuilder("Egulias\\EmailValidator\\Validation\\EmailValidation")->getMock();
113
        $validation2->expects($this->any())->method("isValid")->willReturn(false);
114
        $validation2->expects($this->once())->method("getWarnings")->willReturn([]);
115
        $validation2->expects($this->once())->method("getError")->willReturn($error2);
116
117
        $multipleValidation = new MultipleValidationWithAnd([$validation1, $validation2], MultipleValidationWithAnd::STOP_ON_ERROR);
118
        $multipleValidation->isValid("[email protected]", $lexer);
119
        $this->assertEquals($expectedResult, $multipleValidation->getError());
120
    }
121
122
    public function testBreakOutOfLoopWhenError()
123
    {