Code Duplication    Length = 23-23 lines in 2 locations

Tests/EmailValidator/Validation/MultipleValidationWithAndTest.php 2 locations

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