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

Skip to content

Commit 0b992df

Browse files
committed
Switching ut_assert to use ut.expect.
Bug fixes.
1 parent 5dee7de commit 0b992df

52 files changed

Lines changed: 119 additions & 279 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

source/assertions/ut_assert_processor.pkb

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -55,26 +55,6 @@ create or replace package body ut_assert_processor as
5555
g_asserts_called(g_asserts_called.last) := a_assert_result;
5656
end;
5757

58-
function build_message(a_message varchar2, a_expected in varchar2, a_actual in varchar2) return varchar2 is
59-
c_max_value_len constant integer := 1800;
60-
begin
61-
return a_message || ', expected: ' || ut_utils.to_string(a_expected)|| ', actual: ' || ut_utils.to_string(a_actual);
62-
end;
63-
64-
procedure build_assert_result(
65-
a_assert_result boolean, a_assert_name varchar2, a_expected_type in varchar2, a_actual_type in varchar2,
66-
a_expected_value_string in varchar2, a_actual_value_string in varchar2, a_message varchar2
67-
) is
68-
begin
69-
ut_utils.debug_log('ut_assert_processor.build_assert_result :' || ut_utils.to_test_result(a_assert_result) || ':' || a_message);
70-
add_assert_result(
71-
ut_assert_result(
72-
a_assert_name, ut_utils.to_test_result(a_assert_result),
73-
a_expected_type, a_actual_type, a_expected_value_string, a_actual_value_string, a_message
74-
)
75-
);
76-
end;
77-
7858
procedure report_error(a_message in varchar2) is
7959
begin
8060
add_assert_result(ut_assert_result(ut_utils.tr_error, a_message));

source/assertions/ut_assert_processor.pks

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,6 @@ create or replace package ut_assert_processor authid current_user as
1616

1717
procedure add_assert_result(a_assert_result ut_assert_result);
1818

19-
function build_message(a_message varchar2, a_expected in varchar2, a_actual in varchar2) return varchar2;
20-
21-
procedure build_assert_result(
22-
a_assert_result boolean, a_assert_name varchar2, a_expected_type in varchar2, a_actual_type in varchar2,
23-
a_expected_value_string in varchar2, a_actual_value_string in varchar2, a_message varchar2
24-
);
25-
2619
procedure report_error(a_message in varchar2);
2720

2821
end;

source/assertions/ut_assertion.tpb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,13 +100,13 @@ create or replace type body ut_assertion as
100100
ut_assert_processor.add_assert_result( l_assert_result );
101101
end;
102102

103-
final member procedure to_be_null is
103+
final member procedure to_be_null(self in ut_assertion) is
104104
begin
105105
ut_utils.debug_log('ut_assertion.to_be_null');
106106
self.build_assert_result(ut_utils.int_to_boolean(self.actual_data.is_null), 'to_be_null', null, ut_utils.to_string(to_char(null)));
107107
end;
108108

109-
final member procedure to_be_not_null is
109+
final member procedure to_be_not_null(self in ut_assertion) is
110110
begin
111111
ut_utils.debug_log('ut_assertion.to_be_not_null');
112112
self.build_assert_result(not ut_utils.int_to_boolean(self.actual_data.is_null), 'to_be_not_null', null, ut_utils.to_string(to_char(null)));

source/assertions/ut_assertion.tps

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ create or replace type ut_assertion as object
1616
member procedure to_equal(self in ut_assertion, a_expected timestamp_tz_unconstrained, a_nulls_are_equal boolean := null),
1717
member procedure to_equal(self in ut_assertion, a_expected varchar2, a_nulls_are_equal boolean := null),
1818
member procedure to_(self in ut_assertion, a_expectation ut_expectation),
19-
final member procedure to_be_null,
20-
final member procedure to_be_not_null
19+
final member procedure to_be_null(self in ut_assertion),
20+
final member procedure to_be_not_null(self in ut_assertion)
2121
)
2222
not final not instantiable
2323
/

source/expectation_data_values/ut_data_value_anydata.tpb

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,34 @@
11
create or replace type body ut_data_value_anydata as
22
constructor function ut_data_value_anydata(self in out nocopy ut_data_value_anydata, a_value anydata) return self as result is
3+
l_data_is_null pls_integer;
4+
l_type anytype;
5+
l_anydata_accessor varchar2(30);
36
begin
7+
--XMLTYPE doesn't like the null beeing passed to ANYDATA so we need to check if anydata holds null Object/collection
8+
9+
--check if typename is a schema based object
10+
if a_value.gettypename like '%.%' then
11+
l_anydata_accessor :=
12+
case when a_value.gettype(l_type) = dbms_types.typecode_object then 'getObject' else 'getCollection' end;
13+
execute immediate '
14+
declare
15+
l_data '||a_value.gettypename()||';
16+
l_value anydata := :a_value;
17+
x integer;
18+
begin
19+
x := l_value.'||l_anydata_accessor||'(l_data);
20+
:l_data_is_null := ut_utils.boolean_to_int(l_data is null);
21+
end;' using in a_value, out l_data_is_null;
22+
end if;
423
self.value := a_value;
5-
self.init('anydata', ut_utils.boolean_to_int(a_value is null), ut_utils.to_string(xmltype(a_value).getclobval()));
24+
self.init(
25+
'anydata',
26+
l_data_is_null,
27+
ut_utils.to_string(
28+
case when ut_utils.int_to_boolean(l_data_is_null) then to_clob(null)
29+
else xmltype(a_value).getclobval() end
30+
)
31+
);
632
return;
733
end;
834
end;

source/ut_assert.pkb

Lines changed: 21 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,5 @@
11
create or replace package body ut_assert is
22

3-
g_asserts_called ut_assert_list := ut_assert_list();
4-
5-
function get_aggregate_asserts_result return integer is
6-
l_result integer := ut_utils.tr_success;
7-
begin
8-
ut_utils.debug_log('ut_assert.get_aggregate_asserts_result');
9-
10-
for i in 1 .. g_asserts_called.count loop
11-
l_result := greatest(l_result, g_asserts_called(i).result);
12-
exit when l_result = ut_utils.tr_error;
13-
end loop;
14-
return l_result;
15-
16-
end get_aggregate_asserts_result;
17-
18-
procedure clear_asserts is
19-
begin
20-
ut_utils.debug_log('ut_assert.clear_asserts');
21-
g_asserts_called.delete;
22-
end;
23-
24-
function get_asserts_results return ut_objects_list is
25-
l_asserts_results ut_objects_list := ut_objects_list();
26-
begin
27-
ut_utils.debug_log('ut_assert.get_asserts_results');
28-
if g_asserts_called is not null and g_asserts_called.count > 0 then
29-
l_asserts_results.extend(g_asserts_called.count);
30-
for i in 1 .. g_asserts_called.count loop
31-
l_asserts_results(i) := g_asserts_called(i);
32-
end loop;
33-
clear_asserts();
34-
end if;
35-
return l_asserts_results;
36-
end get_asserts_results;
37-
38-
procedure add_assert_result(a_assert_result ut_assert_result) is
39-
begin
40-
g_asserts_called.extend;
41-
g_asserts_called(g_asserts_called.last) := a_assert_result;
42-
end;
43-
44-
function build_message(a_message varchar2, a_expected in varchar2, a_actual in varchar2) return varchar2 is
45-
c_max_value_len constant integer := 1800;
46-
begin
47-
return a_message || ', expected: ' || ut_utils.to_string(a_expected)|| ', actual: ' || ut_utils.to_string(a_actual);
48-
end;
49-
50-
procedure build_assert_result(
51-
a_assert_result boolean, a_assert_name varchar2, a_expected_type in varchar2, a_actual_type in varchar2,
52-
a_expected_value_string in varchar2, a_actual_value_string in varchar2, a_message varchar2
53-
) is
54-
begin
55-
ut_utils.debug_log('ut_assert.build_assert_result :' || ut_utils.to_test_result(a_assert_result) || ':' || a_message);
56-
add_assert_result(
57-
ut_assert_result(
58-
a_assert_name, ut_utils.to_test_result(a_assert_result),
59-
a_expected_type, a_actual_type, a_expected_value_string, a_actual_value_string, a_message
60-
)
61-
);
62-
end;
63-
64-
procedure report_error(a_message in varchar2) is
65-
begin
66-
add_assert_result(ut_assert_result(ut_utils.tr_error, a_message));
67-
end;
68-
69-
703
--assertions
714
procedure are_equal(a_expected in number, a_actual in number) is
725
begin
@@ -75,7 +8,7 @@ create or replace package body ut_assert is
758

769
procedure are_equal(a_msg in varchar2, a_expected in number, a_actual in number) is
7710
begin
78-
build_assert_result((a_expected = a_actual), 'are_equal', 'number', 'number', ut_utils.to_string(a_expected), ut_utils.to_string(a_actual), ut_utils.to_string(a_msg));
11+
ut.expect(a_actual,a_msg).to_equal(a_expected);
7912
end;
8013

8114
procedure are_equal(a_expected in varchar2, a_actual in varchar2) is
@@ -85,7 +18,7 @@ create or replace package body ut_assert is
8518

8619
procedure are_equal(a_msg in varchar2, a_expected in varchar2, a_actual in varchar2) is
8720
begin
88-
build_assert_result((a_expected = a_actual), 'are_equal', 'varchar2', 'varchar2', ut_utils.to_string(a_expected), ut_utils.to_string(a_actual), ut_utils.to_string(a_msg));
21+
ut.expect(a_actual,a_msg).to_equal(a_expected);
8922
end;
9023

9124
procedure are_equal(a_expected in date, a_actual in date) is
@@ -95,7 +28,7 @@ create or replace package body ut_assert is
9528

9629
procedure are_equal(a_msg in varchar2, a_expected in date, a_actual in date) is
9730
begin
98-
build_assert_result((a_expected = a_actual), 'are_equal', 'date', 'date', ut_utils.to_string(a_expected), ut_utils.to_string(a_actual), ut_utils.to_string(a_msg));
31+
ut.expect(a_actual,a_msg).to_equal(a_expected);
9932
end;
10033

10134
procedure are_equal(a_expected in timestamp_unconstrained, a_actual in timestamp_unconstrained) is
@@ -105,7 +38,7 @@ create or replace package body ut_assert is
10538

10639
procedure are_equal(a_msg in varchar2, a_expected in timestamp_unconstrained, a_actual in timestamp_unconstrained) is
10740
begin
108-
build_assert_result((a_expected = a_actual), 'are_equal', 'timestamp', 'timestamp', ut_utils.to_string(a_expected), ut_utils.to_string(a_actual), ut_utils.to_string(a_msg));
41+
ut.expect(a_actual,a_msg).to_equal(a_expected);
10942
end;
11043

11144
procedure are_equal(a_expected in anydata, a_actual in anydata) is
@@ -114,12 +47,8 @@ create or replace package body ut_assert is
11447
end;
11548

11649
procedure are_equal(a_msg in varchar2, a_expected in anydata, a_actual in anydata) is
117-
l_expected any_data;
118-
l_actual any_data;
11950
begin
120-
l_expected := any_data_builder.build(a_expected);
121-
l_actual := any_data_builder.build(a_actual);
122-
build_assert_result( l_expected.eq(l_actual), 'are_equal', l_expected.type_name, l_actual.type_name, ut_utils.to_string(l_expected.to_string()), ut_utils.to_string(l_actual.to_string()), ut_utils.to_string(a_msg));
51+
ut.expect(a_actual,a_msg).to_equal(a_expected);
12352
end;
12453

12554
procedure are_equal(a_expected in sys_refcursor, a_actual in sys_refcursor) is
@@ -128,12 +57,8 @@ create or replace package body ut_assert is
12857
end;
12958

13059
procedure are_equal(a_msg in varchar2, a_expected in sys_refcursor, a_actual in sys_refcursor) is
131-
l_expected any_data;
132-
l_actual any_data;
13360
begin
134-
l_expected := any_data_builder.build(a_expected);
135-
l_actual := any_data_builder.build(a_actual);
136-
build_assert_result( l_expected.eq(l_actual), 'are_equal', l_expected.type_name, l_actual.type_name, ut_utils.to_string(l_expected.to_string()), ut_utils.to_string(l_actual.to_string()), ut_utils.to_string(a_msg));
61+
ut.expect(a_actual,a_msg).to_equal(a_expected);
13762
end;
13863

13964
procedure this(a_condition in boolean) is
@@ -143,24 +68,20 @@ create or replace package body ut_assert is
14368

14469
procedure this(a_msg in varchar2, a_condition in boolean) is
14570
begin
146-
build_assert_result(a_condition, 'this', 'boolean', 'boolean', ut_utils.to_string(true), ut_utils.to_string(a_condition), ut_utils.to_string(a_msg));
71+
ut.expect(a_condition,a_msg).to_be_true();
14772
end;
14873

14974
-- Strings assertions
15075
procedure is_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar, a_escape_char in varchar2) is
151-
l_condition boolean;
15276
begin
153-
if a_escape_char is not null then
154-
l_condition := a_checking_string like a_mask escape a_escape_char;
155-
else
156-
l_condition := a_checking_string like a_mask;
157-
end if;
158-
build_assert_result(l_condition, 'is_like', 'varchar2', 'varchar2', ut_utils.to_string('like ' || a_mask), ut_utils.to_string(l_condition), a_msg);
77+
ut.expect(a_checking_string, a_msg).to_be_like(a_mask, a_escape_char);
15978
end;
79+
16080
procedure is_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar) is
16181
begin
16282
is_like(a_msg, a_checking_string, a_mask, null);
16383
end;
84+
16485
procedure is_like(a_checking_string in varchar2, a_mask in varchar2) is
16586
begin
16687
is_like(a_msg => null, a_checking_string => a_checking_string, a_mask => a_mask);
@@ -169,7 +90,7 @@ create or replace package body ut_assert is
16990
procedure is_matching(a_msg in varchar2, a_checking_string in varchar2, a_pattern in varchar2, a_modifier in varchar2 default null) is
17091
l_condition boolean := sys.standard.regexp_like(a_checking_string, a_pattern, a_modifier);
17192
begin
172-
build_assert_result(l_condition, 'is_matching', 'varchar2', 'varchar2', ut_utils.to_string('pattern ' || a_pattern), ut_utils.to_string(l_condition), a_msg);
93+
ut.expect(a_checking_string, a_msg).to_match(a_pattern, a_modifier);
17394
end;
17495

17596
procedure is_matching(a_checking_string in varchar2, a_pattern in varchar2, a_modifier in varchar2 default null) is
@@ -184,7 +105,7 @@ create or replace package body ut_assert is
184105

185106
procedure is_null(a_msg in varchar2, a_actual in number) is
186107
begin
187-
build_assert_result((a_actual is null), 'is_null', 'number', 'number', 'NULL', ut_utils.to_string(a_actual), ut_utils.to_string(a_msg));
108+
ut.expect(a_actual,a_msg).to_be_null();
188109
end;
189110

190111
procedure is_null(a_actual in varchar2) is
@@ -194,7 +115,7 @@ create or replace package body ut_assert is
194115

195116
procedure is_null(a_msg in varchar2, a_actual in varchar2) is
196117
begin
197-
build_assert_result((a_actual is null), 'is_null', 'varchar2', 'varchar2', 'NULL', ut_utils.to_string(a_actual), ut_utils.to_string(a_msg));
118+
ut.expect(a_actual,a_msg).to_be_null();
198119
end;
199120

200121

@@ -206,7 +127,7 @@ create or replace package body ut_assert is
206127

207128
procedure is_null(a_msg in varchar2, a_actual in date) is
208129
begin
209-
build_assert_result((a_actual is null), 'is_null', 'date', 'date', 'NULL', ut_utils.to_string(a_actual), ut_utils.to_string(a_msg));
130+
ut.expect(a_actual,a_msg).to_be_null();
210131
end;
211132

212133

@@ -218,7 +139,7 @@ create or replace package body ut_assert is
218139

219140
procedure is_null(a_msg in varchar2, a_actual in timestamp_unconstrained) is
220141
begin
221-
build_assert_result((a_actual is null), 'is_null', 'timestamp', 'timestamp', 'NULL', ut_utils.to_string(a_actual), ut_utils.to_string(a_msg));
142+
ut.expect(a_actual,a_msg).to_be_null();
222143
end;
223144

224145

@@ -229,10 +150,8 @@ create or replace package body ut_assert is
229150

230151

231152
procedure is_null(a_msg in varchar2, a_actual in anydata) is
232-
l_actual any_data;
233153
begin
234-
l_actual := any_data_builder.build(a_actual);
235-
build_assert_result( l_actual.is_null(), 'is_null', l_actual.type_name, l_actual.type_name, 'NULL', ut_utils.to_string(l_actual.to_string()), ut_utils.to_string(a_msg));
154+
ut.expect(a_actual,a_msg).to_be_null();
236155
end;
237156

238157
procedure is_not_null(a_actual in number) is
@@ -242,7 +161,7 @@ create or replace package body ut_assert is
242161

243162
procedure is_not_null(a_msg in varchar2, a_actual in number) is
244163
begin
245-
build_assert_result((a_actual is not null), 'is_not_null', 'number', 'number', 'NOT NULL', ut_utils.to_string(a_actual), ut_utils.to_string(a_msg));
164+
ut.expect(a_actual,a_msg).to_be_not_null();
246165
end;
247166

248167
procedure is_not_null(a_actual in varchar2) is
@@ -252,7 +171,7 @@ create or replace package body ut_assert is
252171

253172
procedure is_not_null(a_msg in varchar2, a_actual in varchar2) is
254173
begin
255-
build_assert_result((a_actual is not null), 'is_not_null', 'varchar2', 'varchar2', 'NOT NULL', ut_utils.to_string(a_actual), ut_utils.to_string(a_msg));
174+
ut.expect(a_actual,a_msg).to_be_not_null();
256175
end;
257176

258177
procedure is_not_null(a_actual in date) is
@@ -262,7 +181,7 @@ create or replace package body ut_assert is
262181

263182
procedure is_not_null(a_msg in varchar2, a_actual in date) is
264183
begin
265-
build_assert_result((a_actual is not null), 'is_not_null', 'date', 'date', 'NOT NULL', ut_utils.to_string(a_actual), ut_utils.to_string(a_msg));
184+
ut.expect(a_actual,a_msg).to_be_not_null();
266185
end;
267186

268187
procedure is_not_null(a_actual in timestamp_unconstrained) is
@@ -272,7 +191,7 @@ create or replace package body ut_assert is
272191

273192
procedure is_not_null(a_msg in varchar2, a_actual in timestamp_unconstrained) is
274193
begin
275-
build_assert_result((a_actual is not null), 'is_not_null', 'timestamp', 'timestamp', 'NOT NULL', ut_utils.to_string(a_actual), ut_utils.to_string(a_msg));
194+
ut.expect(a_actual,a_msg).to_be_not_null();
276195
end;
277196

278197
procedure is_not_null(a_actual in anydata) is
@@ -281,10 +200,8 @@ create or replace package body ut_assert is
281200
end;
282201

283202
procedure is_not_null(a_msg in varchar2, a_actual in anydata) is
284-
l_actual any_data;
285203
begin
286-
l_actual := any_data_builder.build(a_actual);
287-
build_assert_result( not l_actual.is_null(), 'is_not_null', l_actual.type_name, l_actual.type_name, 'NOT NULL', ut_utils.to_string(l_actual.to_string()), ut_utils.to_string(a_msg));
204+
ut.expect(a_actual,a_msg).to_be_not_null();
288205
end;
289206

290207

source/ut_assert.pks

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
create or replace package ut_assert authid current_user as
22

3-
function get_aggregate_asserts_result return integer;
4-
procedure clear_asserts;
5-
procedure report_error(a_message in varchar2);
6-
function get_asserts_results return ut_objects_list;
7-
83
-- General assertion
94
procedure this(a_msg in varchar2, a_condition in boolean);
105
procedure this(a_condition in boolean);

0 commit comments

Comments
 (0)