Skip to content

Commit f9f75d5

Browse files
spideyfusionDavertMik
authored andcommitted
Add delta parameter to assertEquals() assertNotEquals() methods (#4105)
1 parent c228846 commit f9f75d5

File tree

1 file changed

+36
-7
lines changed

1 file changed

+36
-7
lines changed

src/Codeception/Module/Asserts.php

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,57 @@ class Asserts extends CodeceptionModule
1010
{
1111

1212
/**
13-
* Checks that two variables are equal.
13+
* Checks that two variables are equal. If you're comparing floating-point values,
14+
* you can specify the optional "delta" parameter which dictates how great of a precision
15+
* error are you willing to tolerate in order to consider the two values equal.
16+
*
17+
* Regular example:
18+
* ```php
19+
* <?php
20+
* $I->assertEquals($element->getChildrenCount(), 5);
21+
* ```
22+
*
23+
* Floating-point example:
24+
* ```php
25+
* <?php
26+
* $I->assertEquals($calculator->add(0.1, 0.2), 0.3, 'Calculator should add the two numbers correctly.', 0.01);
27+
* ```
1428
*
1529
* @param $expected
1630
* @param $actual
1731
* @param string $message
32+
* @param float $delta
1833
*/
19-
public function assertEquals($expected, $actual, $message = '')
34+
public function assertEquals($expected, $actual, $message = '', $delta = 0.0)
2035
{
21-
parent::assertEquals($expected, $actual, $message);
36+
parent::assertEquals($expected, $actual, $message, $delta);
2237
}
2338

2439
/**
25-
* Checks that two variables are not equal
40+
* Checks that two variables are not equal. If you're comparing floating-point values,
41+
* you can specify the optional "delta" parameter which dictates how great of a precision
42+
* error are you willing to tolerate in order to consider the two values not equal.
43+
*
44+
* Regular example:
45+
* ```php
46+
* <?php
47+
* $I->assertNotEquals($element->getChildrenCount(), 0);
48+
* ```
49+
*
50+
* Floating-point example:
51+
* ```php
52+
* <?php
53+
* $I->assertNotEquals($calculator->add(0.1, 0.2), 0.4, 'Calculator should add the two numbers correctly.', 0.01);
54+
* ```
2655
*
2756
* @param $expected
2857
* @param $actual
2958
* @param string $message
59+
* @param float $delta
3060
*/
31-
public function assertNotEquals($expected, $actual, $message = '')
61+
public function assertNotEquals($expected, $actual, $message = '', $delta = 0.0)
3262
{
33-
parent::assertNotEquals($expected, $actual, $message);
63+
parent::assertNotEquals($expected, $actual, $message, $delta);
3464
}
3565

3666
/**
@@ -39,7 +69,6 @@ public function assertNotEquals($expected, $actual, $message = '')
3969
* @param $expected
4070
* @param $actual
4171
* @param string $message
42-
* @return mixed|void
4372
*/
4473
public function assertSame($expected, $actual, $message = '')
4574
{

0 commit comments

Comments
 (0)