Annotation: assert.are_equal

CREATE OR REPLACE FUNCTION assert.are_equal(VARIADIC anyarray, OUT message text, OUT result boolean)
RETURNS record

Information: assert.are_equal

Schema assert
Function Name are_equal
Arguments VARIADIC anyarray, OUT message text, OUT result boolean
Owner postgres
Result Type record
Description

Implementation: assert.are_equal

CREATE OR REPLACE FUNCTION assert.are_equal(VARIADIC anyarray, OUT message text, OUT result boolean)
 RETURNS record
 LANGUAGE plpgsql
 IMMUTABLE STRICT
AS $function$
    DECLARE count integer=0;
BEGIN
    SELECT COUNT(DISTINCT $1[s.i]) INTO count
    FROM generate_series(array_lower($1,1), array_upper($1,1)) AS s(i)
    ORDER BY 1;

    IF count <> 1 THEN
        MESSAGE := 'ASSERT ARE_EQUAL FAILED.';  
        PERFORM assert.fail(MESSAGE);
        RESULT := FALSE;
        RETURN;
    END IF;

    message := 'Asserts are equal.';
    PERFORM assert.ok(message);
    result := true;
    RETURN;
END
$function$