public function assertEqualsSQLQueries(
        $expected,
        $actual,
        string $message = '',
        float $delta = 0.0,
        int $maxDepth = 10,
        bool $canonicalize = FALSE,
        bool $ignoreCase = FALSE
    ): void
    {
        $flatten = function (array $value) {
            $flattened = [];
            array_walk_recursive(
                $value,
                function ($a) use ( & $flattened) {
                    $flattened[] = $a;
                }
            );
            return $flattened;
        };

        $expectedArray = $flatten([$expected]);
        $actualArray = $flatten([$actual]);
        $constraint = new EqualsSQLQueriesConstraint($expectedArray, $delta, $maxDepth, $canonicalize, $ignoreCase);
        $this->assertThat($actualArray, $constraint, $message);
    }