4use PHPUnit\Framework\TestCase;
5use SebastianBergmann\Diff\Differ;
6use SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder;
29 protected function setUp() : void
31 require_once
'Services/Math/classes/class.ilMath.php';
32 require_once
'Services/Math/classes/class.EvalMath.php';
49 $differ =
new Differ(
new UnifiedDiffOutputBuilder(
"\n--- Expected\n+++ Actual\n"));
51 $this->assertTrue($actual == $expected, $differ->diff($actual, $expected));
131 $this->expectException(ilMathDivisionByZeroException::class);
133 $this->mathAdapter->div(1, 0);
141 $this->expectException(ilMathDivisionByZeroException::class);
143 $this->mathAdapter->mod(1, 0);
206 [
'12345678901234567890',
'3513641828',
null],
207 [
'12345678901234567890',
'3513641828.82', 2]
227 [
'3',
'3',
true,
null],
228 [
'27.424',
'27.424',
true, 5]
242 [
'13/60',
'0.2166666666666', 13],
245 [
'(-(-41)-sqrt((-41)^2-4*(1)*(5)))/(2*(1))',
'0.122', 3],
246 [
'(-(-41)+sqrt((-41)^2-4*(1)*(5)))/(2*(1))',
'40.877', 3],
An exception for terminatinating execution or to throw for unit testing.
assertEqualNumbers(string $actual, string $expected)
This method is used as a 'Comparator' for two numeric strings and is equal to the ScalarComparator be...
testSub($a, $b, $result, $scale)
@dataProvider subData
testCalculation($formula, $result, $scale)
@dataProvider calcData
testEquals($a, $b, $result, $scale)
@dataProvider equalsData
testMul($a, $b, $result, $scale)
@dataProvider mulData
testDiv($a, $b, $result, $scale)
@dataProvider divData
testMod($a, $b, $result)
@dataProvider modData
testSqrt($a, $result, $scale)
@dataProvider sqrtData
testPow($a, $b, $result, $scale)
@dataProvider powData
testAdd($a, $b, $result, $scale)
@dataProvider addData
static setDefaultAdapter(ilMathAdapter $adapter)
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples