@@ -2465,5 +2465,65 @@ Diff:%
24652465 ut.expect(l_actual_message).to_be_like(l_expected_message);
24662466 end;
24672467
2468+ procedure udt_messg_format_eq is
2469+ l_actual sys_refcursor;
2470+ l_expected sys_refcursor;
2471+ l_expected_tab ut3.ut_key_value_pairs := ut3.ut_key_value_pairs();
2472+ l_expected_message varchar2(32767);
2473+ l_actual_message varchar2(32767);
2474+ begin
2475+ select ut3.ut_key_value_pair(rownum,'Something '||rownum)
2476+ bulk collect into l_expected_tab
2477+ from dual connect by level <=2;
2478+
2479+ --Arrange
2480+ open l_actual for select object_name, owner from all_objects where rownum < 3;
2481+ open l_expected for select value(x) as udt from table(l_expected_tab) x;
2482+
2483+ --Act
2484+ ut3.ut.expect(l_actual).to_contain(l_expected);
2485+ --Assert
2486+ l_expected_message := q'[%Actual: refcursor [ count = 2 ] was expected to contain: refcursor [ count = 2 ]
2487+ %Diff:
2488+ %Columns:
2489+ %Column <UDT> [data-type: UT_KEY_VALUE_PAIR] is missing. Expected column position: 1.
2490+ %Column <OBJECT_NAME> [position: 1, data-type: VARCHAR2] is not expected in results.
2491+ %Column <OWNER> [position: 2, data-type: VARCHAR2] is not expected in results.
2492+ %Rows: [ 2 differences ]
2493+ %Missing: <UDT><KEY>1</KEY><VALUE>Something 1</VALUE></UDT>
2494+ %Missing: <UDT><KEY>2</KEY><VALUE>Something 2</VALUE></UDT>%]';
2495+ l_actual_message := ut3.ut_expectation_processor.get_failed_expectations()(1).message;
2496+ --Assert
2497+ ut.expect(l_actual_message).to_be_like(l_expected_message);
2498+ end;
2499+
2500+ procedure udt_messg_format_empt is
2501+ l_actual sys_refcursor;
2502+ l_actual_tab ut3.ut_key_value_pairs := ut3.ut_key_value_pairs();
2503+ l_actual_message varchar2(32767);
2504+ l_expected_message varchar2(32767);
2505+ begin
2506+ select ut3.ut_key_value_pair(rownum,'Something '||rownum)
2507+ bulk collect into l_actual_tab
2508+ from dual connect by level <=2;
2509+
2510+ --Arrange
2511+ open l_actual for select value(x) as udt from table(l_actual_tab) x;
2512+
2513+ --Act
2514+ ut3.ut.expect(l_actual).to_be_empty();
2515+ --Assert
2516+ l_expected_message := q'[%Actual: (refcursor [ count = 2 ])
2517+ %Data-types:
2518+ %<UDT>UT_KEY_VALUE_PAIR</UDT>
2519+ %Data:
2520+ %<ROW><UDT><KEY>1</KEY><VALUE>Something 1</VALUE></UDT></ROW><ROW><UDT><KEY>2</KEY><VALUE>Something 2</VALUE></UDT></ROW>
2521+ %was expected to be empty%]';
2522+
2523+ l_actual_message := ut3.ut_expectation_processor.get_failed_expectations()(1).message;
2524+ --Assert
2525+ ut.expect(l_actual_message).to_be_like(l_expected_message);
2526+ end;
2527+
24682528end;
24692529/
0 commit comments