Code Duplication    Length = 8-16 lines in 3 locations

tests/FiltererTest.php 3 locations

@@ 66-73 (lines=8) @@
63
     * @test
64
     * @covers ::filter
65
     */
66
    public function requiredWithADefaultWithInput()
67
    {
68
        $result = Filterer::filter(
69
            ['fieldOne' => ['required' => true, 'default' => 'theDefault']],
70
            ['fieldOne' => 'notTheDefault']
71
        );
72
        $this->assertSame([true, ['fieldOne' => 'notTheDefault'], null, []], $result);
73
    }
74
75
    /**
76
     * @test
@@ 190-200 (lines=11) @@
187
     * @test
188
     * @covers ::filter
189
     */
190
    public function chainFail()
191
    {
192
        $result = Filterer::filter(
193
            ['fieldOne' => [['trim'], ['\TraderInteractive\FiltererTest::failingFilter']]],
194
            ['fieldOne' => 'the value']
195
        );
196
        $this->assertSame(
197
            [false, null, "Field 'fieldOne' with value 'the value' failed filtering, message 'i failed'", []],
198
            $result
199
        );
200
    }
201
202
    /**
203
     * @test
@@ 403-418 (lines=16) @@
400
     *
401
     * @return void
402
     */
403
    public function filterWithCustomError()
404
    {
405
        $result = Filterer::filter(
406
            [
407
                'fieldOne' => [
408
                    ['\TraderInteractive\FiltererTest::failingFilter'],
409
                    'error' => 'My custom error message'
410
                ],
411
            ],
412
            ['fieldOne' => 'valueOne']
413
        );
414
        $this->assertSame(
415
            [false, null, 'My custom error message', []],
416
            $result
417
        );
418
    }
419
420
    /**
421
     * Verify behavior of filter() when 'error' is not a string value.