Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4d8b964

Browse files
committed
Revert "Revert "Updates to the ordering of sets to get consistent results.""
This reverts commit 7577a95.
1 parent 890c1d2 commit 4d8b964

2 files changed

Lines changed: 36 additions & 25 deletions

File tree

source/expectations/data_values/ut_compound_data_helper.pkb

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,14 @@ create or replace package body ut_compound_data_helper is
186186
with diff_info as (select item_hash,pk_hash,duplicate_no from ut_compound_data_diff_tmp ucdc where diff_id = :diff_guid)
187187
select rn,diff_type,diffed_row,pk_value from
188188
(
189-
select diff_type,diffed_row, dense_rank() over (order by pk_hash) rn,pk_value from
189+
select
190+
diff_type, diffed_row,
191+
dense_rank() over (order by case when diff_type in ('Extra','Missing') then diff_type end,
192+
case when diff_type in ('Actual','Expected') then pk_hash end,
193+
case when diff_type in ('Extra','Missing') then pk_hash end,
194+
case when diff_type in ('Actual','Expected') then diff_type end) rn,
195+
pk_value, pk_hash
196+
from
190197
(
191198
select diff_type,diffed_row,pk_hash,pk_value from
192199
(select diff_type,data_item diffed_row,pk_hash,pk_value
@@ -264,6 +271,7 @@ create or replace package body ut_compound_data_helper is
264271
where exp.pk_hash is null or act.pk_hash is null
265272
)
266273
) where rn <= :max_rows
274+
order by rn, pk_hash, diff_type
267275
]'
268276
bulk collect into l_results
269277
using a_diff_id,
@@ -414,7 +422,10 @@ create or replace package body ut_compound_data_helper is
414422
) act
415423
on exp.row_hash = act.row_hash
416424
and exp.duplicate_no = act.duplicate_no
417-
where exp.row_hash is null or act.row_hash is null ) where rownum < :max_rows ]'
425+
where exp.row_hash is null or act.row_hash is null
426+
order by diffed_type, coalesce(exp.row_hash,act.row_hash), duplicate_no
427+
)
428+
where rownum < :max_rows ]'
418429
bulk collect into l_results
419430
using a_diff_id,
420431
a_exclude_xpath, a_include_xpath, a_expected_dataset_guid,

test/core/expectations/compound_data/test_expectations_cursor.pkb

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1073,10 +1073,10 @@ Rows: [ 2 differences ]%
10731073
--Act
10741074
ut3.ut.expect(l_actual).to_equal(l_expected).unordered;
10751075
l_expected_message := q'[%Actual: refcursor [ count = 2 ] was expected to equal: refcursor [ count = 2 ]%
1076-
Diff:%
1077-
Rows: [ 2 differences ]
1078-
Missing: <ROW><USERNAME>test</USERNAME><USER_ID>-667</USER_ID></ROW>%
1079-
Extra: <ROW><USERNAME>test</USERNAME><USER_ID>-666</USER_ID></ROW>%]';
1076+
%Diff:%
1077+
%Rows: [ 2 differences ]%
1078+
%Extra: <ROW><USERNAME>test</USERNAME><USER_ID>-666</USER_ID></ROW>%
1079+
%Missing: <ROW><USERNAME>test</USERNAME><USER_ID>-667</USER_ID></ROW>%]';
10801080
l_actual_message := ut3.ut_expectation_processor.get_failed_expectations()(1).message;
10811081
--Assert
10821082
ut.expect(l_actual_message).to_be_like(l_expected_message);
@@ -1284,8 +1284,8 @@ Diff:%
12841284
l_expected_message := q'[%Actual: refcursor [ count = % ] was expected to equal: refcursor [ count = % ]
12851285
%Diff:%
12861286
%Rows: [ 1 differences ]%
1287-
%PK <USERNAME>TEST</USERNAME> - Expected:%<USER_ID>-600</USER_ID>%
1288-
%PK <USERNAME>TEST</USERNAME> - Actual:%<USER_ID>-610</USER_ID>%]';
1287+
%PK <USERNAME>TEST</USERNAME> - Actual:%<USER_ID>-610</USER_ID>%
1288+
%PK <USERNAME>TEST</USERNAME> - Expected:%<USER_ID>-600</USER_ID>%]';
12891289
l_actual_message := ut3.ut_expectation_processor.get_failed_expectations()(1).message;
12901290
--Assert
12911291
ut.expect(l_actual_message).to_be_like(l_expected_message);
@@ -1310,8 +1310,8 @@ Diff:%
13101310
l_expected_message := q'[%Actual: refcursor [ count = % ] was expected to equal: refcursor [ count = % ]
13111311
%Diff:%
13121312
%Rows: [ 2 differences ]%
1313-
%PK <USERNAME>TEST</USERNAME><USER_ID>-600</USER_ID> - Missing %
1314-
%PK <USERNAME>TEST</USERNAME><USER_ID>-610</USER_ID> - Extra %]';
1313+
%PK <USERNAME>TEST</USERNAME><USER_ID>-610</USER_ID> - Extra%
1314+
%PK <USERNAME>TEST</USERNAME><USER_ID>-600</USER_ID> - Missing%]';
13151315
l_actual_message := ut3.ut_expectation_processor.get_failed_expectations()(1).message;
13161316
--Assert
13171317
ut.expect(l_actual_message).to_be_like(l_expected_message);
@@ -1336,8 +1336,8 @@ Diff:%
13361336
l_expected_message := q'[%Actual: refcursor [ count = % ] was expected to equal: refcursor [ count = % ]
13371337
%Diff:%
13381338
%Rows: [ 1 differences ]%
1339-
%PK <USERNAME>TEST</USERNAME><IS_VALID>Y</IS_VALID> - Expected:%<USER_ID>-600</USER_ID>%
1340-
%PK <USERNAME>TEST</USERNAME><IS_VALID>Y</IS_VALID> - Actual:%<USER_ID>-610</USER_ID>%]';
1339+
%PK <USERNAME>TEST</USERNAME><IS_VALID>Y</IS_VALID> - Actual:%<USER_ID>-610</USER_ID>%
1340+
%PK <USERNAME>TEST</USERNAME><IS_VALID>Y</IS_VALID> - Expected:%<USER_ID>-600</USER_ID>%]';
13411341
l_actual_message := ut3.ut_expectation_processor.get_failed_expectations()(1).message;
13421342
--Assert
13431343
ut.expect(l_actual_message).to_be_like(l_expected_message);
@@ -1493,11 +1493,11 @@ Diff:%
14931493
l_expected_message := q'[%Actual: refcursor [ count = 2 ] was expected to equal: refcursor [ count = 3 ]%
14941494
Diff:%
14951495
Rows: [ 5 differences ]
1496-
Missing: <ROW><COLVAL><ID>1</ID><name>Somethings 1</name><Value>1</Value></COLVAL></ROW>%
1497-
Missing: <ROW><COLVAL><ID>2</ID><name>Somethings 2</name><Value>2</Value></COLVAL></ROW>%
1498-
Missing: <ROW><COLVAL><ID>3</ID><name>Somethings 3</name><Value>3</Value></COLVAL></ROW>%
1499-
Extra: <ROW><COLVAL><ID>1</ID><name>Something 1</name><Value>1</Value></COLVAL></ROW>%
1500-
Extra: <ROW><COLVAL><ID>2</ID><name>Something 2</name><Value>2</Value></COLVAL></ROW>%]';
1496+
%Extra: <ROW><COLVAL><ID>2</ID><name>Something 2</name><Value>2</Value></COLVAL></ROW>%
1497+
%Extra: <ROW><COLVAL><ID>1</ID><name>Something 1</name><Value>1</Value></COLVAL></ROW>%
1498+
%Missing: <ROW><COLVAL><ID>1</ID><name>Somethings 1</name><Value>1</Value></COLVAL></ROW>%
1499+
%Missing: <ROW><COLVAL><ID>2</ID><name>Somethings 2</name><Value>2</Value></COLVAL></ROW>%
1500+
%Missing: <ROW><COLVAL><ID>3</ID><name>Somethings 3</name><Value>3</Value></COLVAL></ROW>%]';
15011501
l_actual_message := ut3.ut_expectation_processor.get_failed_expectations()(1).message;
15021502
--Assert
15031503
ut.expect(l_actual_message).to_be_like(l_expected_message);
@@ -1621,10 +1621,10 @@ Diff:%
16211621
l_expected_message := q'[%Actual: refcursor [ count = 2 ] was expected to equal: refcursor [ count = 2 ]%
16221622
%Diff:%
16231623
%Rows: [ 2 differences ]%
1624-
%PK <KEY>1</KEY> - Expected: <VALUE>Somethings 1</VALUE>%
1625-
%PK <KEY>1</KEY> - Actual: <VALUE>Something 1</VALUE>%
1626-
%PK <KEY>2</KEY> - Expected: <VALUE>Somethings 2</VALUE>%
1627-
%PK <KEY>2</KEY> - Actual: <VALUE>Something 2</VALUE>%]';
1624+
%PK <KEY>%</KEY> - Actual: <VALUE>%</VALUE>%
1625+
%PK <KEY>%</KEY> - Expected: <VALUE>%</VALUE>%
1626+
%PK <KEY>%</KEY> - Actual: <VALUE>%</VALUE>%
1627+
%PK <KEY>%</KEY> - Expected: <VALUE>%</VALUE>%]';
16281628
l_actual_message := ut3.ut_expectation_processor.get_failed_expectations()(1).message;
16291629
--Assert
16301630
ut.expect(l_actual_message).to_be_like(l_expected_message);
@@ -1688,10 +1688,10 @@ Diff:%
16881688
l_expected_message := q'[%Actual: refcursor [ count = 2 ] was expected to equal: refcursor [ count = 2 ]%
16891689
%Diff:%
16901690
%Rows: [ 4 differences ]%
1691-
%PK <KEY>1</KEY><VALUE>Somethings 1</VALUE> - Missing%
1692-
%PK <KEY>2</KEY><VALUE>Somethings 2</VALUE> - Missing%
1693-
%PK <KEY>2</KEY><VALUE>Something 2</VALUE> - Extra%
1694-
%PK <KEY>1</KEY><VALUE>Something 1</VALUE> - Extra%]';
1691+
%PK <KEY>%</KEY><VALUE>%</VALUE> - Extra%
1692+
%PK <KEY>%</KEY><VALUE>%</VALUE> - Extra%
1693+
%PK <KEY>%</KEY><VALUE>%</VALUE> - Missing%
1694+
%PK <KEY>%</KEY><VALUE>%</VALUE> - Missing%]';
16951695
l_actual_message := ut3.ut_expectation_processor.get_failed_expectations()(1).message;
16961696
--Assert
16971697
ut.expect(l_actual_message).to_be_like(l_expected_message);

0 commit comments

Comments
 (0)