◐ Shell
clean mode source ↗

Failure when comparing nested objects

Describe the bug
When comparing nested objects the comparison fails with an exception.

Provide version info
utPLSQL 3.1.10 - any database

Information about client software
not applicable

To Reproduce

Run the below script

create or replace type some_value as object(
  the_value   number,
  is_relative integer(1)
);

create or replace type some_item as object (
  first_value  some_value,
  second_value some_value
);

declare
  l_expected some_item;
  l_actual   some_item;
begin
  l_expected := some_item(some_value( 1, 0 ), some_value(2.22, 1));
  l_actual   := some_item(some_value( 1, 0 ), some_value(2.22, 0));
  ut.expect(anydata.convertObject(l_actual)).to_equal(anydata.convertObject(l_expected));
end;
/

See the exception:

ORA-00902: invalid datatype
ORA-06512: at "UT3.UT_DATA_VALUE_REFCURSOR", line 336
ORA-06512: at "UT3.UT_COMPOUND_DATA_HELPER", line 628
ORA-06512: at "UT3.UT_DATA_VALUE_REFCURSOR", line 328
ORA-06512: at "UT3.UT_DATA_VALUE_REFCURSOR", line 384
ORA-06512: at "UT3.UT_DATA_VALUE_ANYDATA", line 129
ORA-06512: at "UT3.UT_EQUAL", line 229
ORA-06512: at "UT3.UT_EXPECTATION", line 26
ORA-06512: at "UT3.UT_EXPECTATION", line 96
ORA-06512: at line 7

Expected behavior

The expectation should report data differences.

Additional context

The behavior seem to show up when the object contains nested objects.