Functional\Tests\ComposeTest::test PHP Method

test() public method

public test ( )
    public function test()
    {
        $input = range(0, 10);
        $plus2 = function ($x) {
            return $x + 2;
        };
        $times4 = function ($x) {
            return $x * 4;
        };
        $square = function ($x) {
            return $x * $x;
        };
        $composed = compose($plus2, $times4, $square);
        $composed_values = array_map(function ($x) use($composed) {
            return $composed($x);
        }, $input);
        $manual_values = array_map(function ($x) use($plus2, $times4, $square) {
            return $square($times4($plus2($x)));
        }, $input);
        $this->assertEquals($composed_values, $manual_values);
    }