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

Skip to content

Commit a15bff4

Browse files
committed
Addressed code review comments.
`function do_execute` removed, code refactored to include the changes.
1 parent 87d628c commit a15bff4

12 files changed

Lines changed: 50 additions & 72 deletions

examples/RunExampleComplexSuiteWithCustomDBMSOutputReporter.sql

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ declare
1717
suite2 ut_test_suite;
1818
suite_complex ut_test_suite;
1919
testtoexecute ut_test;
20+
reporter ut_reporter;
2021
begin
2122
suite1 := ut_test_suite(a_suite_name => 'Test Suite 1' /*,a_items => ut_test_objects_list()*/);
2223

@@ -39,7 +40,8 @@ begin
3940
suite_complex := ut_test_suite(a_suite_name => 'Complex Test Suite', a_items => ut_objects_list(suite1, suite2));
4041

4142
-- provide a reporter to process results
42-
suite_complex.do_execute(ut_custom_reporter(a_tab_size => 2));
43+
reporter := ut_custom_reporter(a_tab_size => 2);
44+
suite_complex.do_execute(reporter);
4345
end;
4446
/
4547

examples/RunExampleTestSuiteWithCompositeReporter.sql

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ PROMPT Runs test report using composite reporter
1414
declare
1515
suite ut_test_suite;
1616
testtoexecute ut_test;
17+
reporter ut_reporter;
1718
begin
1819
suite := ut_test_suite(a_suite_name => 'Test Suite Name' /*,a_items => ut_test_objects_list()*/);
1920

@@ -32,7 +33,8 @@ begin
3233
suite.add_item(testtoexecute);
3334

3435
-- provide a reporter to process results
35-
suite.do_execute(ut_composite_reporter(ut_reporters_list(ut_dbms_output_suite_reporter, ut_dbms_output_suite_reporter)));
36+
reporter := ut_composite_reporter(ut_reporters_list(ut_dbms_output_suite_reporter, ut_dbms_output_suite_reporter));
37+
suite.do_execute(reporter);
3638
end;
3739
/
3840

examples/RunExampleTestSuiteWithCustomDBMSOutputReporter.sql

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ set echo off
1616
declare
1717
suite ut_test_suite;
1818
testtoexecute ut_test;
19+
reporter ut_reporter;
1920
begin
2021
-- Install ut_custom_reporter first from example folder
2122

@@ -36,7 +37,8 @@ begin
3637
suite.add_item(testtoexecute);
3738

3839
-- provide a reporter to process results tabbing each hierarcy level by tab_size
39-
suite.do_execute(ut_custom_reporter(a_tab_size => 2));
40+
reporter := ut_custom_reporter(a_tab_size => 2);
41+
suite.do_execute(reporter);
4042
end;
4143
/
4244

examples/RunExampleTestSuiteWithDBMSOutputReporter.sql

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ set echo off
1313
declare
1414
suite ut_test_suite;
1515
testtoexecute ut_test;
16+
reporter ut_reporter;
1617
begin
1718
suite := ut_test_suite(a_suite_name => 'Test Suite Name' /*,a_items => ut_test_objects_list()*/);
1819

@@ -31,7 +32,8 @@ begin
3132
suite.add_item(testtoexecute);
3233

3334
-- provide a reporter to process results
34-
suite.do_execute(ut_dbms_output_suite_reporter);
35+
reporter := ut_dbms_output_suite_reporter;
36+
suite.do_execute(reporter);
3537
end;
3638
/
3739

source/core/types/ut_output_dbms_output.tpb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ create or replace type body ut_output_dbms_output as
1818
c_size_limit_chars constant integer := (32767/2);
1919
i integer := 0;
2020
begin
21-
while i <= length(a_text) loop
21+
while i < length(a_text) loop
2222
l_text_part := substr( a_text, i + 1, c_size_limit_chars );
2323
dbms_output.put_line(l_text_part);
2424
i := i + c_size_limit_chars;

source/core/types/ut_test.tpb

Lines changed: 12 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,10 @@ create or replace type body ut_test is
3737
teardown.is_valid('teardown'));
3838
end is_valid;
3939

40-
overriding member procedure do_execute(self in out nocopy ut_test, a_reporter ut_reporter) is
41-
l_reporter ut_reporter := a_reporter;
42-
begin
43-
l_reporter := do_execute(l_reporter);
44-
end;
45-
overriding member function do_execute(self in out nocopy ut_test, a_reporter ut_reporter) return ut_reporter is
46-
l_reporter ut_reporter := a_reporter;
40+
overriding member procedure do_execute(self in out nocopy ut_test, a_reporter in out nocopy ut_reporter) is
4741
l_savepoint varchar2(30);
4842
begin
49-
l_reporter.before_test(self);
43+
a_reporter.before_test(self);
5044

5145
if self.rollback_type = ut_utils.gc_rollback_auto then
5246
l_savepoint := ut_utils.gen_savepoint_name;
@@ -63,12 +57,12 @@ create or replace type body ut_test is
6357
if self.is_valid() then
6458

6559
if self.setup is not null then
66-
l_reporter.before_test_setup(self);
60+
a_reporter.before_test_setup(self);
6761
self.setup.do_execute;
68-
l_reporter.after_test_setup(self);
62+
a_reporter.after_test_setup(self);
6963
end if;
7064

71-
l_reporter.before_test_execute(self);
65+
a_reporter.before_test_execute(self);
7266
begin
7367
self.test.do_execute;
7468
exception
@@ -80,12 +74,12 @@ create or replace type body ut_test is
8074

8175
ut_assert_processor.report_error(sqlerrm(sqlcode) || ' ' || dbms_utility.format_error_backtrace);
8276
end;
83-
l_reporter.after_test_execute(self);
77+
a_reporter.after_test_execute(self);
8478

8579
if self.teardown is not null then
86-
l_reporter.before_test_teardown(self);
80+
a_reporter.before_test_teardown(self);
8781
self.teardown.do_execute;
88-
l_reporter.after_test_teardown(self);
82+
a_reporter.after_test_teardown(self);
8983
end if;
9084

9185
end if;
@@ -108,31 +102,23 @@ create or replace type body ut_test is
108102

109103
self.end_time := current_timestamp;
110104

111-
l_reporter.before_asserts_process(self);
105+
a_reporter.before_asserts_process(self);
112106
self.items := ut_assert_processor.get_asserts_results();
113107

114108
self.calc_execution_result;
115109

116110
for i in 1 .. self.items.count loop
117-
l_reporter.on_assert_process(treat(self.items(i) as ut_assert_result));
111+
a_reporter.on_assert_process(treat(self.items(i) as ut_assert_result));
118112
end loop;
119113

120-
l_reporter.after_asserts_process(self);
114+
a_reporter.after_asserts_process(self);
121115
else
122116
self.end_time := current_timestamp;
123117
self.result := ut_utils.tr_ignore;
124118
end if;
125119

126-
l_reporter.after_test(self);
127-
128-
return l_reporter;
120+
a_reporter.after_test(self);
129121
end;
130122

131-
overriding member procedure do_execute(self in out nocopy ut_test) is
132-
l_null_reporter ut_reporter := ut_reporter();
133-
begin
134-
self.do_execute(l_null_reporter);
135-
end do_execute;
136-
137123
end;
138124
/

source/core/types/ut_test.tps

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,7 @@ create or replace type ut_test force under ut_test_object
99

1010
member function is_valid return boolean,
1111

12-
overriding member procedure do_execute(self in out nocopy ut_test, a_reporter ut_reporter),
13-
overriding member function do_execute(self in out nocopy ut_test, a_reporter ut_reporter) return ut_reporter,
14-
overriding member procedure do_execute(self in out nocopy ut_test)
15-
12+
overriding member procedure do_execute(self in out nocopy ut_test, a_reporter in out nocopy ut_reporter)
1613
)
1714
not final
1815
/

source/core/types/ut_test_object.tpb

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@ create or replace type body ut_test_object is
2020
extract(second from(end_time - start_time));
2121
return l_sec;
2222
end;
23-
23+
24+
final member procedure do_execute(self in out nocopy ut_test_object) is
25+
l_null_reporter ut_reporter := ut_reporter();
26+
begin
27+
self.do_execute(l_null_reporter);
28+
end;
29+
30+
2431
end;
25-
/
32+
/

source/core/types/ut_test_object.tps

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@ create or replace type ut_test_object force under ut_composite_object
66
rollback_type integer(1), -- ut_utils:gc_rollback_% constants
77
ignore_flag integer(1),
88

9-
not instantiable member procedure do_execute(self in out nocopy ut_test_object, a_reporter ut_reporter),
10-
not instantiable member function do_execute(self in out nocopy ut_test_object, a_reporter ut_reporter)
11-
return ut_reporter,
12-
not instantiable member procedure do_execute(self in out nocopy ut_test_object),
13-
9+
not instantiable member procedure do_execute(self in out nocopy ut_test_object, a_reporter in out nocopy ut_reporter),
10+
final member procedure do_execute(self in out nocopy ut_test_object),
11+
1412
member procedure set_ignore_flag(self in out nocopy ut_test_object, a_ignore_flag boolean),
1513
member procedure set_rollback_type(self in out nocopy ut_test_object, a_rollback_type integer),
1614

source/core/types/ut_test_suite.tpb

Lines changed: 10 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,11 @@ create or replace type body ut_test_suite is
4141
return l_is_valid;
4242
end is_valid;
4343

44-
overriding member procedure do_execute(self in out nocopy ut_test_suite, a_reporter ut_reporter) is
45-
l_reporter ut_reporter := a_reporter;
46-
begin
47-
l_reporter := do_execute(l_reporter);
48-
end;
49-
50-
overriding member function do_execute(self in out nocopy ut_test_suite, a_reporter ut_reporter)
51-
return ut_reporter is
52-
l_reporter ut_reporter := a_reporter;
44+
overriding member procedure do_execute(self in out nocopy ut_test_suite, a_reporter in out nocopy ut_reporter) is
5345
l_test_object ut_test_object;
5446
l_savepoint varchar2(30);
5547
begin
56-
l_reporter.before_suite(self);
48+
a_reporter.before_suite(self);
5749

5850
ut_utils.debug_log('ut_test_suite.execute');
5951

@@ -69,25 +61,25 @@ create or replace type body ut_test_suite is
6961
end if;
7062

7163
if self.setup is not null then
72-
l_reporter.before_suite_setup(self);
64+
a_reporter.before_suite_setup(self);
7365
self.setup.do_execute;
74-
l_reporter.after_suite_setup(self);
66+
a_reporter.after_suite_setup(self);
7567
end if;
7668

7769
for i in self.items.first .. self.items.last loop
78-
l_reporter.before_suite_item(a_suite => self,a_item_index => i);
70+
a_reporter.before_suite_item(a_suite => self,a_item_index => i);
7971

8072
l_test_object := treat(self.items(i) as ut_test_object);
81-
l_reporter := l_test_object.do_execute(a_reporter => l_reporter);
73+
l_test_object.do_execute(a_reporter => a_reporter);
8274
self.items(i) := l_test_object;
8375

84-
l_reporter.after_suite_item(a_suite => self,a_item_index => i);
76+
a_reporter.after_suite_item(a_suite => self,a_item_index => i);
8577
end loop;
8678

8779
if self.teardown is not null then
88-
l_reporter.before_suite_teardown(self);
80+
a_reporter.before_suite_teardown(self);
8981
self.teardown.do_execute;
90-
l_reporter.after_suite_teardown(self);
82+
a_reporter.after_suite_teardown(self);
9183
end if;
9284

9385
self.calc_execution_result;
@@ -101,14 +93,7 @@ create or replace type body ut_test_suite is
10193

10294
self.end_time := current_timestamp;
10395

104-
l_reporter.after_suite(self);
105-
return l_reporter;
106-
end;
107-
108-
overriding member procedure do_execute(self in out nocopy ut_test_suite) is
109-
l_null_reporter ut_reporter := ut_reporter();
110-
begin
111-
self.do_execute(l_null_reporter);
96+
a_reporter.after_suite(self);
11297
end;
11398

11499
end;

0 commit comments

Comments
 (0)