Skip to content
Related Articles

Related Articles

Improve Article

PHPunit | assertEqualsCanonicalizing() Function

  • Last Updated : 23 Aug, 2019

The assertEqualsCanonicalizing() function is a builtin function in PHPUnit and is used to assert whether expected and actual variables are canonically equals. Canonical equals mean before actual comparison both array will be sorted and compared. This assertion will return true in the case if expected and actual are same, else return false. In case of true the asserted test case got passed else test case got failed.

Syntax:

assertEqualsCanonicalizing( mixed $expected, mixed $actual, string $message = '' )

Parameters: This function accepts three parameters as shown in the above syntax. The parameters are described below:

  • $expected: This parameter is a mixed variable which denotes the expected value.
  • $actual: This parameter is a mixed variable which denotes the actual value to compare with expected.
  • $message: This parameter takes string value. When the testcase got failed this string message got displayed as error message.

Below programs illustrate the assertEqualsCanonicalizing() function in PHPUnit:

Program 1:






<?php
use PHPUnit\Framework\TestCase;
  
class GeeksPhpunitTestCase extends TestCase
{
    public function testNegativeTestcaseForAssertEqualsCanonicalizing()
    {
        $expected = array(1, 2, 3, 4);
        $actual = array(2, 1, 2, 4);
  
        // Assert function to test whether expected 
        // and actual are canonically equal or not.
        $this->assertEqualsCanonicalizing(
            $expected, $actual
            "expected and actual are not canonically equals"
        );
    }
}
  
?>

Output:

PHPUnit 8.2.5 by Sebastian Bergmann and contributors.

F                                                                   1 / 1 (100%)

Time: 65 ms, Memory: 10.00 MB

There was 1 failure:

1) GeeksPhpunitTestCase::testNegativeTestcaseForAssertEqualsCanonicalizing
expected and actual are not canonically equals
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
 Array (
     0 => 1
     1 => 2
-    2 => 3
+    2 => 2
     3 => 4
 )

/home/shivam/Documents/geeks/phpunit/abc.php:13

FAILURES!
Tests: 1, Assertions: 1, Failures: 1.

Program 2:




<?php
use PHPUnit\Framework\TestCase;
  
class GeeksPhpunitTestCase extends TestCase
{
    public function testPositiveTestcaseForAssertEqualsCanonicalizing()
    {
         $expected = array(1, 2, 3, 4);
        $actual = array(2, 1, 3, 4);
  
        // Assert function to test whether expected 
        // and actual are canonically equal or not.
        $this->assertEqualsCanonicalizing(
            $expected, $actual
            "expected and actual are not canonically equals"
        );
    }
}
  
?>

Output:

PHPUnit 8.2.5 by Sebastian Bergmann and contributors.

.                                                                   1 / 1 (100%)

Time: 67 ms, Memory: 10.00 MB

OK (1 test, 1 assertion)

Note: To run testcases with phpunit follow steps from here. Also, assertEqualsCanonicalizing() is supported by phpunit 7 and above.




My Personal Notes arrow_drop_up
Recommended Articles
Page :