Code Duplication    Length = 8-16 lines in 3 locations

tests/FiltererTest.php 3 locations

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