Code Duplication    Length = 8-16 lines in 3 locations

tests/FiltererTest.php 3 locations

@@ 59-66 (lines=8) @@
56
     * @test
57
     * @covers ::filter
58
     */
59
    public function requiredWithADefaultWithInput()
60
    {
61
        $result = Filterer::filter(
62
            ['fieldOne' => ['required' => true, 'default' => 'theDefault']],
63
            ['fieldOne' => 'notTheDefault']
64
        );
65
        $this->assertSame([true, ['fieldOne' => 'notTheDefault'], null, []], $result);
66
    }
67
68
    /**
69
     * @test
@@ 183-193 (lines=11) @@
180
     * @test
181
     * @covers ::filter
182
     */
183
    public function chainFail()
184
    {
185
        $result = Filterer::filter(
186
            ['fieldOne' => [['trim'], ['\TraderInteractive\FiltererTest::failingFilter']]],
187
            ['fieldOne' => 'the value']
188
        );
189
        $this->assertSame(
190
            [false, null, "Field 'fieldOne' with value 'the value' failed filtering, message 'i failed'", []],
191
            $result
192
        );
193
    }
194
195
    /**
196
     * @test
@@ 396-411 (lines=16) @@
393
     *
394
     * @return void
395
     */
396
    public function filterWithCustomError()
397
    {
398
        $result = Filterer::filter(
399
            [
400
                'fieldOne' => [
401
                    ['\TraderInteractive\FiltererTest::failingFilter'],
402
                    'error' => 'My custom error message'
403
                ],
404
            ],
405
            ['fieldOne' => 'valueOne']
406
        );
407
        $this->assertSame(
408
            [false, null, 'My custom error message', []],
409
            $result
410
        );
411
    }
412
413
    /**
414
     * Verify behavior of filter() when 'error' is not a string value.