@@ -129,6 +129,14 @@ end;
129129Example of ` include / exclude ` for anydata.convertCollection
130130
131131``` plsql
132+ create or replace type person as object(
133+ name varchar2(100),
134+ age integer
135+ )
136+ /
137+ create or replace type people as table of person
138+ /
139+
132140create or replace package ut_anydata_inc_exc IS
133141
134142 --%suite(Anydata)
@@ -138,46 +146,38 @@ create or replace package ut_anydata_inc_exc IS
138146
139147 --%test(Anydata exclude)
140148 procedure ut_anydata_test_exc;
141-
149+
150+ --%test(Fail on age)
151+ procedure ut_fail_anydata_test;
152+
142153end ut_anydata_inc_exc;
143154/
144155
145156create or replace package body ut_anydata_inc_exc IS
146157
147158 procedure ut_anydata_test_inc IS
148- l_actual ut3_tester_helper.test_dummy_object_list ;
149- l_expected ut3_tester_helper.test_dummy_object_list ;
159+ l_actual people := people(person('Matt',45)) ;
160+ l_expected people :=people(person('Matt',47)) ;
150161 begin
151- --Arrange
152- select ut3_tester_helper.test_dummy_object( rownum, 'Something Name'||rownum, rownum)
153- bulk collect into l_actual
154- from dual connect by level <=2
155- order by rownum asc;
156- select ut3_tester_helper.test_dummy_object( rownum, 'Something '||rownum, rownum)
157- bulk collect into l_expected
158- from dual connect by level <=2
159- order by rownum asc;
160- --Act
161- ut3.ut.expect(anydata.convertCollection(l_actual)).to_equal(anydata.convertCollection(l_expected)).include('ID,Value');
162+ ut3.ut.expect(anydata.convertCollection(l_actual)).to_equal(anydata.convertCollection(l_expected)).include('NAME');
162163 end;
163-
164+
164165 procedure ut_anydata_test_exc IS
165- l_actual ut3_tester_helper.test_dummy_object_list ;
166- l_expected ut3_tester_helper.test_dummy_object_list ;
166+ l_actual people := people(person('Matt',45)) ;
167+ l_expected people :=people(person('Matt',47)) ;
167168 begin
168169 --Arrange
169- select ut3_tester_helper.test_dummy_object( rownum, 'Something Name'||rownum, rownum)
170- bulk collect into l_actual
171- from dual connect by level <=2
172- order by rownum asc;
173- select ut3_tester_helper.test_dummy_object( rownum, 'Something '||rownum, rownum)
174- bulk collect into l_expected
175- from dual connect by level <=2
176- order by rownum asc;
177- --Act
178- ut3.ut.expect(anydata.convertCollection(l_actual)).to_equal(anydata.convertCollection(l_expected)).exclude('name');
170+ ut3.ut.expect(anydata.convertCollection(l_actual)).to_equal(anydata.convertCollection(l_expected)).exclude('AGE');
179171 end;
180172
173+ procedure ut_fail_anydata_test IS
174+ l_actual people := people(person('Matt',45));
175+ l_expected people :=people(person('Matt',47));
176+ begin
177+ --Arrange
178+ ut3.ut.expect(anydata.convertCollection(l_actual)).to_equal(anydata.convertCollection(l_expected)).include('AGE');
179+ end;
180+
181181end ut_anydata_inc_exc;
182182/
183183
@@ -187,11 +187,18 @@ will result in :
187187
188188``` sql
189189Anydata
190- Anydata include [.07 sec]
191- Anydata exclude [.058 sec]
190+ Anydata include [.044 sec]
191+ Anydata exclude [.035 sec]
192+ Fail on age [.058 sec] (FAILED - 1 )
193+
194+ Failures:
192195
193- Finished in .131218 seconds
194- 2 tests, 0 failed, 0 errored, 0 disabled, 0 warning(s)
196+ 1 ) ut_fail_anydata_test
197+ Actual: ut3 .people [ count = 1 ] was expected to equal: ut3 .people [ count = 1 ]
198+ Diff:
199+ Rows: [ 1 differences ]
200+ Row No. 1 - Actual: < AGE> 45 < / AGE>
201+ Row No. 1 - Expected: < AGE> 47 < / AGE>
195202```
196203
197204
0 commit comments