MathPHP\Functions\ArithmeticTest::testMultipleSums PHP Method

testMultipleSums() public method

public testMultipleSums ( )
    public function testMultipleSums()
    {
        // f(x) = 8x³ - 13x² -92x + 96
        $f = function ($x) {
            return 8 * $x ** 3 - 13 * $x ** 2 - 92 * $x + 96;
        };
        $g = $f;
        $h = $f;
        $i = $f;
        $j = $f;
        // Σ(x) = f(x) + g(x) + h(x) + i(x) + j(x) = 5*f(x) = 40x³ - 65x² -460x + 480
        $sum = Arithmetic::add($f, $g, $h, $i, $j);
        // Σ(0) = 480
        $expected = 480;
        $x = $sum(0);
        $this->assertEquals($expected, $x);
        // Σ(5) = 1555
        $expected = 1555;
        $x = $sum(5);
        $this->assertEquals($expected, $x);
        // Σ(-5) = -3845
        $expected = -3845;
        $x = $sum(-5);
        $this->assertEquals($expected, $x);
    }