Code Duplication    Length = 8-16 lines in 3 locations

tests/FiltererTest.php 3 locations

@@ 56-63 (lines=8) @@
53
     * @test
54
     * @covers ::filter
55
     */
56
    public function requiredWithADefaultWithInput()
57
    {
58
        $result = Filterer::filter(
59
            ['fieldOne' => ['required' => true, 'default' => 'theDefault']],
60
            ['fieldOne' => 'notTheDefault']
61
        );
62
        $this->assertSame([true, ['fieldOne' => 'notTheDefault'], null, []], $result);
63
    }
64
65
    /**
66
     * @test
@@ 180-190 (lines=11) @@
177
     * @test
178
     * @covers ::filter
179
     */
180
    public function chainFail()
181
    {
182
        $result = Filterer::filter(
183
            ['fieldOne' => [['trim'], ['\TraderInteractive\FiltererTest::failingFilter']]],
184
            ['fieldOne' => 'the value']
185
        );
186
        $this->assertSame(
187
            [false, null, "Field 'fieldOne' with value 'the value' failed filtering, message 'i failed'", []],
188
            $result
189
        );
190
    }
191
192
    /**
193
     * @test
@@ 404-419 (lines=16) @@
401
     *
402
     * @return void
403
     */
404
    public function filterWithCustomError()
405
    {
406
        $result = Filterer::filter(
407
            [
408
                'fieldOne' => [
409
                    ['\TraderInteractive\FiltererTest::failingFilter'],
410
                    'error' => 'My custom error message'
411
                ],
412
            ],
413
            ['fieldOne' => 'valueOne']
414
        );
415
        $this->assertSame(
416
            [false, null, 'My custom error message', []],
417
            $result
418
        );
419
    }
420
421
    /**
422
     * Verify behavior of filter() when 'error' is not a string value.