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

Skip to content

Commit 2c6b33c

Browse files
committed
Fixed ut_dbms_output_suite_reporter.tpb for not evaluating null assert_list object
Fixed size of object_name property as it might contain the full path with packages names Added simple ut_assert.this as for now we have only "eq" procedure which is not enough for even simpliest appliactions
1 parent f35b433 commit 2c6b33c

4 files changed

Lines changed: 38 additions & 28 deletions

File tree

source/types/ut_dbms_output_suite_reporter.tpb

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,12 @@ create or replace type body ut_dbms_output_suite_reporter is
5353
begin
5454
print('result: ' || test.result_to_char);
5555
print('asserts');
56-
for i in test.items.first .. test.items.last loop
57-
assert := treat(test.items(i) as ut_assert_result);
58-
print('assert ' || i || ' ' || assert.result_to_char || ' message: ' || assert.message);
59-
end loop;
56+
if test.items is not null and test.items.count >0 then
57+
for i in test.items.first .. test.items.last loop
58+
assert := treat(test.items(i) as ut_assert_result);
59+
print('assert ' || i || ' ' || assert.result_to_char || ' message: ' || assert.message);
60+
end loop;
61+
end if;
6062
end;
6163

6264
end;

source/types/ut_test_object.tps

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ create or replace type ut_test_object force under ut_composite_object
22
(
33
start_time timestamp with time zone,
44
end_time timestamp with time zone,
5-
object_name varchar2(32),
5+
object_name varchar2(4000),
66
not instantiable member procedure execute(self in out nocopy ut_test_object, a_reporter ut_reporter),
77
not instantiable member function execute(self in out nocopy ut_test_object, a_reporter ut_reporter)
88
return ut_reporter,

source/ut_assert.pkb

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ create or replace package body ut_assert is
66
l_result integer := ut_utils.tr_success;
77
begin
88
ut_utils.debug_log('ut_assert.get_aggregate_asserts_result');
9-
9+
1010
for i in 1 .. g_asserts_called.count loop
1111
l_result := greatest(l_result, treat(g_asserts_called(i) as ut_assert_result).result);
1212
exit when l_result = ut_utils.tr_error;
1313
end loop;
1414
return l_result;
15-
15+
1616
end get_aggregate_asserts_result;
1717

1818
procedure clear_asserts is
@@ -39,31 +39,24 @@ create or replace package body ut_assert is
3939
function build_message(a_message varchar2, a_expected in varchar2, a_actual in varchar2) return varchar2 is
4040
c_max_value_len constant integer := 1800;
4141
begin
42-
return
43-
a_message
44-
|| ', expected: '
45-
|| case when length(a_expected)>c_max_value_len then substr(a_expected,1,c_max_value_len-3)||'...' else a_expected end
46-
|| ', actual: ' ||
47-
case when length(a_actual)>c_max_value_len then substr(a_actual,1,c_max_value_len-3)||'...' else a_actual end;
42+
return a_message || ', expected: ' || case when length(a_expected) > c_max_value_len then substr(a_expected
43+
,1
44+
,c_max_value_len - 3) || '...' else a_expected end || ', actual: ' || case when length(a_actual) > c_max_value_len then substr(a_actual
45+
,1
46+
,c_max_value_len - 3) || '...' else a_actual end;
4847
end;
4948

5049
procedure build_assert_result(a_test boolean, a_expected in varchar2, a_actual in varchar2, a_message varchar2) is
5150
begin
5251
ut_utils.debug_log('ut_assert.build_assert_result :' || ut_utils.to_test_result(a_test) || ':' || a_message);
53-
add_assert_result(
54-
ut_assert_result(
55-
ut_utils.to_test_result(a_test),
56-
build_message(a_message, a_expected, a_actual)
57-
)
58-
);
52+
add_assert_result(ut_assert_result(ut_utils.to_test_result(a_test), build_message(a_message, a_expected, a_actual)));
5953
end;
6054

6155
procedure report_error(a_message in varchar2) is
6256
begin
6357
add_assert_result(ut_assert_result(ut_utils.tr_error, a_message));
6458
end;
6559

66-
6760
--assertions
6861
procedure are_equal(a_expected in number, a_actual in number) is
6962
begin
@@ -82,11 +75,11 @@ create or replace package body ut_assert is
8275

8376
procedure are_equal(a_msg in varchar2, a_expected in anydata, a_actual in anydata) is
8477
l_expected any_data;
85-
l_actual any_data;
78+
l_actual any_data;
8679
begin
87-
l_expected := any_data_builder.build(a_expected);
88-
l_actual := any_data_builder.build(a_actual);
89-
build_assert_result((l_expected.eq(l_actual)), l_expected.to_string(), l_actual.to_string(), a_msg);
80+
l_expected := any_data_builder.build(a_expected);
81+
l_actual := any_data_builder.build(a_actual);
82+
build_assert_result((l_expected.eq(l_actual)), l_expected.to_string(), l_actual.to_string(), a_msg);
9083
end;
9184

9285
procedure are_equal(a_expected in sys_refcursor, a_actual in sys_refcursor) is
@@ -96,11 +89,23 @@ create or replace package body ut_assert is
9689

9790
procedure are_equal(a_msg in varchar2, a_expected in sys_refcursor, a_actual in sys_refcursor) is
9891
l_expected any_data;
99-
l_actual any_data;
92+
l_actual any_data;
93+
begin
94+
l_expected := any_data_builder.build(a_expected);
95+
l_actual := any_data_builder.build(a_actual);
96+
build_assert_result((l_expected.eq(l_actual)), l_expected.to_string(), l_actual.to_string(), a_msg);
97+
end;
98+
99+
procedure this(a_condition in boolean) is
100+
begin
101+
this('Simple assert', a_condition);
102+
end;
103+
procedure this(a_msg in varchar2, a_condition in boolean) is
100104
begin
101-
l_expected := any_data_builder.build(a_expected);
102-
l_actual := any_data_builder.build(a_actual);
103-
build_assert_result((l_expected.eq(l_actual)), l_expected.to_string(), l_actual.to_string(), a_msg);
105+
build_assert_result(a_condition
106+
,'TRUE'
107+
,case a_condition when true then 'TRUE' when false then 'FALSE' else 'NULL' end
108+
,a_msg);
104109
end;
105110

106111
end ut_assert;

source/ut_assert.pks

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ create or replace package ut_assert authid current_user as
1414

1515
procedure are_equal(a_expected in sys_refcursor, a_actual in sys_refcursor);
1616
procedure are_equal(a_msg in varchar2, a_expected in sys_refcursor, a_actual in sys_refcursor);
17+
18+
procedure this(a_condition in boolean);
19+
procedure this(a_msg in varchar2, a_condition in boolean);
1720

1821
end ut_assert;
1922
/

0 commit comments

Comments
 (0)