Code Duplication    Length = 8-16 lines in 3 locations

tests/FiltererTest.php 3 locations

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