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

Skip to content

Commit a2cf02e

Browse files
committed
Creating regression test scenario for fixed issue 1098 and supporting test types.
1 parent c14a3ad commit a2cf02e

6 files changed

Lines changed: 127 additions & 6 deletions

File tree

test/install_ut3_tester_helper.sql

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ alter session set plsql_optimize_level=0;
1010
@@ut3_tester_helper/test_dummy_double_nested_object.tps
1111
@@ut3_tester_helper/test_dummy_object_list.tps
1212
@@ut3_tester_helper/test_dummy_nested_object_list.tps
13+
@@ut3_tester_helper/test_dummy_double_nested_list.tps
14+
@@ut3_tester_helper/test_dummy_dble_nest_lst_obj.tps
1315
@@ut3_tester_helper/test_tab_varchar2.tps
1416
@@ut3_tester_helper/test_tab_varray.tps
1517
@@ut3_tester_helper/test_nested_tab_varray.tps
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
declare
2+
l_exists integer;
3+
begin
4+
select count(1) into l_exists from user_types where type_name = 'TEST_DUMMY_DBLE_NEST_LST_OBJ';
5+
if l_exists > 0 then
6+
execute immediate 'drop type test_dummy_dble_nest_lst_obj force';
7+
end if;
8+
end;
9+
/
10+
11+
CREATE TYPE test_dummy_dble_nest_lst_obj AS OBJECT
12+
(
13+
some_number_id NUMBER,
14+
some_name VARCHAR2 (25),
15+
dummy_list test_dummy_double_nested_list
16+
);
17+
/
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
declare
2+
l_exists integer;
3+
begin
4+
select count(1) into l_exists from user_types where type_name = 'TEST_DUMMY_DOUBLE_NESTED_LIST';
5+
if l_exists > 0 then
6+
execute immediate 'drop type test_dummy_double_nested_list force';
7+
end if;
8+
end;
9+
/
10+
11+
CREATE TYPE test_dummy_double_nested_list AS
12+
TABLE OF test_dummy_nested_object_list;
13+
/

test/ut3_tester_helper/test_dummy_nested_object_list.tps

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ end;
99
/
1010

1111
create or replace type test_dummy_nested_object_list as object (
12-
first_nested_obj test_dummy_object_list
12+
first_nested_obj test_dummy_object_list,
13+
somename varchar2(50)
1314
)
1415
/

test/ut3_user/expectations/test_expectation_anydata.pkb

Lines changed: 86 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1066,8 +1066,8 @@ Rows: [ 60 differences, showing first 20 ]
10661066
from dual connect by level <=2
10671067
order by rownum desc;
10681068
--Arrange
1069-
g_test_expected := anydata.convertObject( ut3_tester_helper.test_dummy_nested_object_list(l_actual));
1070-
g_test_actual := anydata.convertObject( ut3_tester_helper.test_dummy_nested_object_list(l_expected));
1069+
g_test_expected := anydata.convertObject( ut3_tester_helper.test_dummy_nested_object_list(l_actual,'Test'));
1070+
g_test_actual := anydata.convertObject( ut3_tester_helper.test_dummy_nested_object_list(l_expected,'Test'));
10711071
--Act
10721072
l_expected_message := q'[%Actual: ut3_tester_helper.test_dummy_nested_object_list was expected to equal: ut3_tester_helper.test_dummy_nested_object_list
10731073
%Diff:
@@ -1094,8 +1094,8 @@ Rows: [ 60 differences, showing first 20 ]
10941094
from dual connect by level <=2
10951095
order by rownum desc;
10961096
--Arrange
1097-
g_test_expected := anydata.convertObject( ut3_tester_helper.test_dummy_nested_object_list(l_actual));
1098-
g_test_actual := anydata.convertObject( ut3_tester_helper.test_dummy_nested_object_list(l_expected));
1097+
g_test_expected := anydata.convertObject( ut3_tester_helper.test_dummy_nested_object_list(l_actual,'Test'));
1098+
g_test_actual := anydata.convertObject( ut3_tester_helper.test_dummy_nested_object_list(l_expected,'Test'));
10991099
--Act
11001100
ut3_develop.ut.expect( g_test_actual ).to_equal( g_test_expected );
11011101
ut.expect(ut3_tester_helper.main_helper.get_failed_expectations_num).to_equal(0);
@@ -1129,5 +1129,87 @@ Rows: [ 60 differences, showing first 20 ]
11291129
--Assert
11301130
ut.expect(l_actual_message).to_be_like(l_expected_message);
11311131
end;
1132+
1133+
procedure user_defined_type_null_issue_1098 is
1134+
l_actual_message varchar2(32767);
1135+
l_expected_message varchar2(32767);
1136+
l_actual ut3_tester_helper.test_dummy_dble_nest_lst_obj;
1137+
l_expected ut3_tester_helper.test_dummy_dble_nest_lst_obj;
1138+
begin
1139+
l_actual:= ut3_tester_helper.test_dummy_dble_nest_lst_obj(
1140+
1, 'North America',
1141+
ut3_tester_helper.test_dummy_double_nested_list (
1142+
ut3_tester_helper.test_dummy_nested_object_list(
1143+
ut3_tester_helper.test_dummy_object_list(
1144+
ut3_tester_helper.test_dummy_object(1, '100 Broadway', 02474),
1145+
ut3_tester_helper.test_dummy_object(2, '200 Indian School Rd', 85016)
1146+
),'USA'
1147+
),
1148+
ut3_tester_helper.test_dummy_nested_object_list(
1149+
ut3_tester_helper.test_dummy_object_list(),'USA'
1150+
)
1151+
)
1152+
);
1153+
1154+
l_expected := ut3_tester_helper.test_dummy_dble_nest_lst_obj(
1155+
1,
1156+
'North America',
1157+
ut3_tester_helper.test_dummy_double_nested_list(ut3_tester_helper.test_dummy_nested_object_list(ut3_tester_helper.test_dummy_object_list(
1158+
ut3_tester_helper.test_dummy_object(1, '100 Broadway', 02474),
1159+
ut3_tester_helper.test_dummy_object(2, '200 Indian School Rd', 85016)
1160+
), 'USA'))
1161+
);
1162+
ut3_develop.ut.expect(anydata.convertObject(l_actual)).to_equal(anydata.convertObject(l_expected)).unordered;
1163+
1164+
l_expected_message := q'[%Actual: ut3_tester_helper.test_dummy_dble_nest_lst_obj was expected to equal: ut3_tester_helper.test_dummy_dble_nest_lst_obj
1165+
%Diff:
1166+
%Rows: [ 2 differences ]
1167+
%Extra: <TEST_DUMMY_DBLE_NEST_LST_OBJ><SOME_NUMBER_ID>1</SOME_NUMBER_ID><SOME_NAME>North America</SOME_NAME><DUMMY_LIST><TEST_DUMMY_NESTED_OBJECT_LIST><FIRST_NESTED_OBJ><TEST_DUMMY_OBJECT><ID>1</ID><name>100 Broadway</name><Value>2474</Value></TEST_DUMMY_OBJECT><TEST_DUMMY_OBJECT><ID>2</ID><name>200 Indian School Rd</name><Value>85016</Value></TEST_DUMMY_OBJECT></FIRST_NESTED_OBJ><SOMENAME>USA</SOMENAME></TEST_DUMMY_NESTED_OBJECT_LIST><TEST_DUMMY_NESTED_OBJECT_LIST><FIRST_NESTED_OBJ/><SOMENAME>USA</SOMENAME></TEST_DUMMY_NESTED_OBJECT_LIST></DUMMY_LIST></TEST_DUMMY_DBLE_NEST_LST_OBJ>
1168+
%Missing: <TEST_DUMMY_DBLE_NEST_LST_OBJ><SOME_NUMBER_ID>1</SOME_NUMBER_ID><SOME_NAME>North America</SOME_NAME><DUMMY_LIST><TEST_DUMMY_NESTED_OBJECT_LIST><FIRST_NESTED_OBJ><TEST_DUMMY_OBJECT><ID>1</ID><name>100 Broadway</name><Value>2474</Value></TEST_DUMMY_OBJECT><TEST_DUMMY_OBJECT><ID>2</ID><name>200 Indian School Rd</name><Value>85016</Value></TEST_DUMMY_OBJECT></FIRST_NESTED_OBJ><SOMENAME>USA</SOMENAME></TEST_DUMMY_NESTED_OBJECT_LIST></DUMMY_LIST></TEST_DUMMY_DBLE_NEST_LST_OBJ>]';
1169+
l_actual_message := ut3_tester_helper.main_helper.get_failed_expectations(1);
1170+
--Assert
1171+
ut.expect(l_actual_message).to_be_like(l_expected_message);
1172+
1173+
end;
1174+
1175+
procedure complex_nested_object_success is
1176+
l_actual_message varchar2(32767);
1177+
l_expected_message varchar2(32767);
1178+
l_actual ut3_tester_helper.test_dummy_dble_nest_lst_obj;
1179+
l_expected ut3_tester_helper.test_dummy_dble_nest_lst_obj;
1180+
begin
1181+
l_actual:= ut3_tester_helper.test_dummy_dble_nest_lst_obj(
1182+
1, 'North America',
1183+
ut3_tester_helper.test_dummy_double_nested_list (
1184+
ut3_tester_helper.test_dummy_nested_object_list(
1185+
ut3_tester_helper.test_dummy_object_list(
1186+
ut3_tester_helper.test_dummy_object(1, '100 Broadway', 02474),
1187+
ut3_tester_helper.test_dummy_object(2, '200 Indian School Rd', 85016)
1188+
),'USA'
1189+
),
1190+
ut3_tester_helper.test_dummy_nested_object_list(
1191+
ut3_tester_helper.test_dummy_object_list(),'USA'
1192+
)
1193+
)
1194+
);
1195+
1196+
l_expected := ut3_tester_helper.test_dummy_dble_nest_lst_obj(
1197+
1, 'North America',
1198+
ut3_tester_helper.test_dummy_double_nested_list (
1199+
ut3_tester_helper.test_dummy_nested_object_list(
1200+
ut3_tester_helper.test_dummy_object_list(
1201+
ut3_tester_helper.test_dummy_object(1, '100 Broadway', 02474),
1202+
ut3_tester_helper.test_dummy_object(2, '200 Indian School Rd', 85016)
1203+
),'USA'
1204+
),
1205+
ut3_tester_helper.test_dummy_nested_object_list(
1206+
ut3_tester_helper.test_dummy_object_list(),'USA'
1207+
)
1208+
)
1209+
);
1210+
ut3_develop.ut.expect(anydata.convertObject(l_actual)).to_equal(anydata.convertObject(l_expected)).unordered;
1211+
ut.expect(ut3_tester_helper.main_helper.get_failed_expectations_num).to_equal(0);
1212+
1213+
end;
11321214
end;
11331215
/

test/ut3_user/expectations/test_expectation_anydata.pks

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,12 @@ create or replace package test_expectation_anydata is
226226
procedure nested_varray_same_data;
227227

228228
--%test ( Reports diff between two not equal nested VARRAYS )
229-
procedure nested_varray_diff_data;
229+
procedure nested_varray_diff_data;
230+
231+
--%test ( Comparision won't fail on user_defined type that is null as per issue 1098 )
232+
procedure user_defined_type_null_issue_1098;
233+
234+
--%test ( Reports success when comparing complex nested objects )
235+
procedure complex_nested_object_success;
230236
end;
231237
/

0 commit comments

Comments
 (0)