Code Duplication    Length = 22-23 lines in 2 locations

Tests/PredictionWrapperMiddlewareTest.php 2 locations

@@ 14-35 (lines=22) @@
11
12
class PredictionWrapperMiddlewareTest extends NimoTestCase
13
{
14
    public function testPositiveCase()
15
    {
16
        $req = $this->getRequestMock();
17
        $res = $this->getResponseMock();
18
        $hdl = $this->throwHandler();
19
        $inner = $this->assertedMiddleware($req, $hdl, $res);
20
21
        $prediction = new class($req) implements RequestPredictionInterface
22
        {
23
            use RememberConstructorParamTrait;
24
25
            public function isTrue(ServerRequestInterface $request): bool
26
            {
27
                Assert::assertSame($this->params[0], $request);
28
                return true;
29
            }
30
        };
31
32
        $middleware = new PredictionWrapperMiddleware($inner, $prediction);
33
        $actualResponse = $middleware->process($req, $hdl);
34
        Assert::assertSame($res, $actualResponse);
35
    }
36
37
38
    public function testNegativeCase()
@@ 38-60 (lines=23) @@
35
    }
36
37
38
    public function testNegativeCase()
39
    {
40
        $req = $this->getRequestMock();
41
        $res = $this->getResponseMock();
42
        $hdl = $this->assertedHandler($req, $res);
43
44
        $falsePrediction = new class($req) implements RequestPredictionInterface
45
        {
46
            use RememberConstructorParamTrait;
47
48
            public function isTrue(ServerRequestInterface $request): bool
49
            {
50
                Assert::assertSame($this->params[0], $request);
51
                return false;
52
            }
53
        };
54
55
        $inner = $this->throwMiddleware($req, $hdl, new \Exception('should not call inner'));
56
        $middleware = new PredictionWrapperMiddleware($inner, $falsePrediction);
57
58
        $actualResponse = $middleware->process($req, $hdl);
59
        Assert::assertSame($res, $actualResponse);
60
    }
61
}
62