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

Skip to content

Commit c583319

Browse files
committed
Adding extra tests for collection with join_by and unordered
1 parent cfada15 commit c583319

2 files changed

Lines changed: 137 additions & 1 deletion

File tree

test/core/expectations/test_expectation_anydata.pkb

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -825,6 +825,124 @@ Rows: [ 60 differences, showing first 20 ]
825825
--Assert
826826
ut.expect(l_actual_message).to_be_like(l_expected_message);
827827
end;
828+
829+
procedure collection_join_by is
830+
l_actual test_dummy_object_list;
831+
l_expected test_dummy_object_list;
832+
l_actual_message varchar2(32767);
833+
l_expected_message varchar2(32767);
834+
begin
835+
--Arrange
836+
select test_dummy_object( rownum, 'Something '||rownum, rownum)
837+
bulk collect into l_actual
838+
from dual connect by level <=2;
839+
select test_dummy_object( rownum, 'Something '||rownum, rownum)
840+
bulk collect into l_expected
841+
from dual connect by level <=2
842+
order by rownum desc;
843+
--Act
844+
ut3.ut.expect(anydata.convertCollection(l_actual)).to_equal(anydata.convertCollection(l_expected)).join_by('TEST_DUMMY_OBJECT/ID');
845+
ut.expect(expectations.failed_expectations_data()).to_be_empty();
846+
end;
847+
848+
procedure collection_join_by_fail is
849+
l_actual test_dummy_object_list;
850+
l_expected test_dummy_object_list;
851+
l_actual_message varchar2(32767);
852+
l_expected_message varchar2(32767);
853+
begin
854+
--Arrange
855+
select test_dummy_object( rownum, 'Something '||rownum, rownum)
856+
bulk collect into l_actual
857+
from dual connect by level <=2;
858+
select test_dummy_object( rownum * 2, 'Something '||rownum, rownum)
859+
bulk collect into l_expected
860+
from dual connect by level <=2
861+
order by rownum desc;
862+
--Act
863+
ut3.ut.expect(anydata.convertCollection(l_actual)).to_equal(anydata.convertCollection(l_expected)).join_by('TEST_DUMMY_OBJECT/ID');
864+
l_expected_message := q'[%Actual: ut3_tester.test_dummy_object_list [ count = 2 ] was expected to equal: ut3_tester.test_dummy_object_list [ count = 2 ]
865+
%Diff:
866+
%Rows: [ 3 differences ]
867+
%PK <ID>2</ID> - Actual: <name>Something 2</name>
868+
%PK <ID>2</ID> - Actual: <Value>2</Value>
869+
%PK <ID>2</ID> - Expected: <name>Something 1</name>
870+
%PK <ID>2</ID> - Expected: <Value>1</Value>
871+
%PK <ID>1</ID> - Extra: <TEST_DUMMY_OBJECT><ID>1</ID><name>Something 1</name><Value>1</Value></TEST_DUMMY_OBJECT>
872+
%PK <ID>4</ID> - Missing: <TEST_DUMMY_OBJECT><ID>4</ID><name>Something 2</name><Value>2</Value></TEST_DUMMY_OBJECT>]';
873+
l_actual_message := ut3.ut_expectation_processor.get_failed_expectations()(1).message;
874+
--Assert
875+
ut.expect(l_actual_message).to_be_like(l_expected_message);
876+
end;
877+
878+
procedure collection_unordered is
879+
l_actual test_dummy_object_list;
880+
l_expected test_dummy_object_list;
881+
l_actual_message varchar2(32767);
882+
l_expected_message varchar2(32767);
883+
begin
884+
--Arrange
885+
select test_dummy_object( rownum, 'Something '||rownum, rownum)
886+
bulk collect into l_actual
887+
from dual connect by level <=3;
888+
select test_dummy_object( rownum, 'Something '||rownum, rownum)
889+
bulk collect into l_expected
890+
from dual connect by level <=3
891+
order by rownum desc;
892+
--Act
893+
ut3.ut.expect(anydata.convertCollection(l_actual)).to_equal(anydata.convertCollection(l_expected)).unordered;
894+
ut.expect(expectations.failed_expectations_data()).to_be_empty();
895+
end;
896+
897+
procedure collection_unordered_fail is
898+
l_actual test_dummy_object_list;
899+
l_expected test_dummy_object_list;
900+
l_actual_message varchar2(32767);
901+
l_expected_message varchar2(32767);
902+
begin
903+
--Arrange
904+
select test_dummy_object( rownum, 'Something '||rownum, rownum)
905+
bulk collect into l_actual
906+
from dual connect by level <=2;
907+
select test_dummy_object( rownum * 2, 'Something '||rownum, rownum)
908+
bulk collect into l_expected
909+
from dual connect by level <=2
910+
order by rownum desc;
911+
912+
l_expected_message := q'[%Actual: ut3_tester.test_dummy_object_list [ count = 2 ] was expected to equal: ut3_tester.test_dummy_object_list [ count = 2 ]
913+
%Diff:
914+
%Rows: [ 4 differences ]
915+
%Extra: <TEST_DUMMY_OBJECT><ID>1</ID><name>Something 1</name><Value>1</Value></TEST_DUMMY_OBJECT>
916+
%Extra: <TEST_DUMMY_OBJECT><ID>2</ID><name>Something 2</name><Value>2</Value></TEST_DUMMY_OBJECT>
917+
%Missing: <TEST_DUMMY_OBJECT><ID>4</ID><name>Something 2</name><Value>2</Value></TEST_DUMMY_OBJECT>
918+
%Missing: <TEST_DUMMY_OBJECT><ID>2</ID><name>Something 1</name><Value>1</Value></TEST_DUMMY_OBJECT>]';
919+
920+
ut3.ut.expect(anydata.convertCollection(l_actual)).to_equal(anydata.convertCollection(l_expected)).unordered;
921+
l_actual_message := ut3.ut_expectation_processor.get_failed_expectations()(1).message;
922+
--Assert
923+
ut.expect(l_actual_message).to_be_like(l_expected_message);
924+
end;
925+
926+
procedure object_join_by is
927+
begin
928+
--Arrange
929+
g_test_expected := anydata.convertObject( test_dummy_object(1, 'A', '0') );
930+
g_test_actual := anydata.convertObject( test_dummy_object(1, 'A', '0') );
931+
932+
--Act
933+
ut3.ut.expect(g_test_actual).to_equal(g_test_expected).join_by('TEST_DUMMY_OBJECT/ID');
934+
ut.expect(expectations.failed_expectations_data()).to_be_empty();
935+
end;
936+
937+
procedure object_unordered is
938+
begin
939+
g_test_expected := anydata.convertObject( test_dummy_object(1, 'A', '0') );
940+
g_test_actual := anydata.convertObject( test_dummy_object(1, 'A', '0') );
941+
942+
--Act
943+
ut3.ut.expect(g_test_actual).to_equal(g_test_expected).unordered;
944+
ut.expect(expectations.failed_expectations_data()).to_be_empty();
945+
end;
828946

829947
end;
830948
/

test/core/expectations/test_expectation_anydata.pks

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,25 @@ create or replace package test_expectation_anydata is
172172
procedure varr_empty_equal_varr_empty;
173173

174174
--%test(Compare empty VARRAY to VARRAY with data)
175-
procedure varr_empty_equal_varr_notempty;
175+
procedure varr_empty_equal_varr_notempty;
176+
177+
--%test( Anydata collection using joinby )
178+
procedure collection_join_by;
179+
180+
--%test( Anydata collection using joinby fail)
181+
procedure collection_join_by_fail;
182+
183+
--%test( Anydata collection unordered )
184+
procedure collection_unordered;
185+
186+
--%test( Anydata collection unordered fail )
187+
procedure collection_unordered_fail;
188+
189+
--%test( Anydata object using joinby )
190+
procedure object_join_by;
191+
192+
--%test( Anydata object unordered )
193+
procedure object_unordered;
176194

177195
end;
178196
/

0 commit comments

Comments
 (0)