Merge pull request #27895 from thibdrev/patch-1

qual: roundUpToNextMultiple()
This commit is contained in:
Laurent Destailleur
2024-01-30 21:04:28 +01:00
committed by GitHub
2 changed files with 26 additions and 1 deletions

View File

@@ -11369,7 +11369,7 @@ function isVisibleToUserType($type_user, &$menuentry, &$listofmodulesforexternal
*/
function roundUpToNextMultiple($n, $x = 5)
{
$result = (ceil($n) % $x === 0) ? ceil($n) : round(($n + $x / 2) / $x) * $x;
$result = (ceil($n) % $x === 0) ? ceil($n) : (round(($n + $x / 2) / $x) * $x);
return (int) $result;
}

View File

@@ -1797,4 +1797,29 @@ class FunctionsLibTest extends PHPUnit\Framework\TestCase
return true;
}
/**
* testRoundUpToNextMultiple
*
* @return void;
*/
public function testRoundUpToNextMultiple()
{
$this->assertEquals(roundUpToNextMultiple(39.5), 40);
$this->assertEquals(roundUpToNextMultiple(40), 40);
$this->assertEquals(roundUpToNextMultiple(40.4), 45);
$this->assertEquals(roundUpToNextMultiple(40.5), 45);
$this->assertEquals(roundUpToNextMultiple(44.5), 45);
$this->assertEquals(roundUpToNextMultiple(39.5, 10), 40);
$this->assertEquals(roundUpToNextMultiple(40, 10), 40);
$this->assertEquals(roundUpToNextMultiple(40.5, 10), 50);
$this->assertEquals(roundUpToNextMultiple(44.5, 10), 50);
$this->assertEquals(roundUpToNextMultiple(39.5, 6), 42);
$this->assertEquals(roundUpToNextMultiple(40, 6), 42);
$this->assertEquals(roundUpToNextMultiple(40.5, 6), 42);
$this->assertEquals(roundUpToNextMultiple(44.5, 6), 48);
}
}