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);
}