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

Skip to content

Commit 678fbb1

Browse files
PazusPavel Kaplya
authored andcommitted
new hooks are defined and propagated to all object types and packages
1 parent fb338b4 commit 678fbb1

10 files changed

Lines changed: 256 additions & 84 deletions

examples/ut_custom_reporter.tpb

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@ create or replace type body ut_custom_reporter is
22

33
constructor function ut_custom_reporter(a_tab_size integer default 4) return self as result is
44
begin
5-
self.name := $$plsql_unit;
6-
self.lvl := 0;
5+
self.name := $$plsql_unit;
6+
self.lvl := 0;
77
self.tab_size := a_tab_size;
88
return;
99
end;
1010

1111
member function tab(self in ut_custom_reporter) return varchar2 is
12-
tab_str varchar2(255);
12+
tab_str varchar2(255);
1313
begin
14-
tab_str := rpad(' ', lvl * tab_size);
14+
tab_str := rpad(' ', lvl * tab_size);
1515
return tab_str;
1616
end tab;
1717

@@ -20,36 +20,36 @@ create or replace type body ut_custom_reporter is
2020
(self as ut_dbms_output_suite_reporter).print(tab || msg);
2121
end print;
2222

23-
overriding member procedure begin_suite(self in out nocopy ut_custom_reporter, a_suite ut_object) as
23+
overriding member procedure before_suite(self in out nocopy ut_custom_reporter, a_suite ut_object) as
2424
begin
25-
(self as ut_dbms_output_suite_reporter).begin_suite(a_suite);
25+
(self as ut_dbms_output_suite_reporter).before_suite(a_suite);
2626
lvl := lvl + 1;
2727
end;
2828

29-
overriding member procedure begin_test(self in out nocopy ut_custom_reporter, a_test ut_object) as
29+
overriding member procedure before_test(self in out nocopy ut_custom_reporter, a_test ut_object) as
3030
begin
31-
(self as ut_dbms_output_suite_reporter).begin_test(a_test);
31+
(self as ut_dbms_output_suite_reporter).before_test(a_test);
3232
lvl := lvl + 1;
3333
end;
34-
35-
overriding member procedure on_assert(self in out nocopy ut_custom_reporter, a_assert ut_object) is
36-
begin
37-
lvl := lvl + 1;
38-
(self as ut_dbms_output_suite_reporter).on_assert(a_assert);
34+
35+
overriding member procedure on_assert_process(self in out nocopy ut_custom_reporter, a_assert ut_object) is
36+
begin
37+
lvl := lvl + 1;
38+
(self as ut_dbms_output_suite_reporter).on_assert_process(a_assert);
3939
lvl := lvl - 1;
40-
end;
40+
end;
4141

42-
overriding member procedure end_test(self in out nocopy ut_custom_reporter, a_test ut_object) as
42+
overriding member procedure after_test(self in out nocopy ut_custom_reporter, a_test ut_object) as
4343
begin
4444
lvl := lvl - 1;
45-
(self as ut_dbms_output_suite_reporter).end_test(a_test);
45+
(self as ut_dbms_output_suite_reporter).after_test(a_test);
4646
end;
4747

48-
overriding member procedure end_suite(self in out nocopy ut_custom_reporter, a_suite ut_object) as
48+
overriding member procedure after_suite(self in out nocopy ut_custom_reporter, a_suite ut_object) as
4949
begin
5050
lvl := lvl - 1;
51-
(self as ut_dbms_output_suite_reporter).end_suite(a_suite);
51+
(self as ut_dbms_output_suite_reporter).after_suite(a_suite);
5252
end;
53-
53+
5454
end;
5555
/

examples/ut_custom_reporter.tps

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ create or replace type ut_custom_reporter under ut_dbms_output_suite_reporter
77
constructor function ut_custom_reporter(a_tab_size integer default 4) return self as result,
88
member function tab(self in ut_custom_reporter) return varchar2,
99
overriding member procedure print(msg varchar2),
10-
overriding member procedure begin_suite(self in out nocopy ut_custom_reporter, a_suite ut_object),
11-
overriding member procedure begin_test(self in out nocopy ut_custom_reporter, a_test ut_object),
12-
overriding member procedure on_assert(self in out nocopy ut_custom_reporter, a_assert ut_object),
13-
overriding member procedure end_test(self in out nocopy ut_custom_reporter, a_test ut_object),
14-
overriding member procedure end_suite(self in out nocopy ut_custom_reporter, a_suite ut_object)
10+
overriding member procedure before_suite(self in out nocopy ut_custom_reporter, a_suite ut_object),
11+
overriding member procedure before_test(self in out nocopy ut_custom_reporter, a_test ut_object),
12+
overriding member procedure on_assert_process(self in out nocopy ut_custom_reporter, a_assert ut_object),
13+
overriding member procedure after_test(self in out nocopy ut_custom_reporter, a_test ut_object),
14+
overriding member procedure after_suite(self in out nocopy ut_custom_reporter, a_suite ut_object)
1515
)
1616
not final
1717
/

source/types/ut_composite_reporter.tpb

Lines changed: 74 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,37 +22,101 @@ create or replace type body ut_composite_reporter is
2222
self.reporters.delete(self.reporters.last);
2323

2424
end;
25+
26+
overriding member procedure before_execution(self in out nocopy ut_composite_reporter, a_suites in ut_objects_list) is
27+
begin
28+
for i in 1 .. self.reporters.count loop
29+
self.reporters(i).before_execution(a_suites => a_suites);
30+
end loop;
31+
end;
32+
33+
overriding member procedure before_suite(self in out nocopy ut_composite_reporter, a_suite in ut_object) is
34+
begin
35+
for i in 1 .. self.reporters.count loop
36+
self.reporters(i).before_suite(a_suite => a_suite);
37+
end loop;
38+
end;
39+
40+
overriding member procedure on_suite_setup(self in out nocopy ut_composite_reporter, a_suite in ut_object) is
41+
begin
42+
for i in 1 .. self.reporters.count loop
43+
self.reporters(i).on_suite_setup(a_suite => a_suite);
44+
end loop;
45+
end;
2546

26-
overriding member procedure begin_suite(self in out nocopy ut_composite_reporter, a_suite ut_object) is
47+
overriding member procedure before_test(self in out nocopy ut_composite_reporter, a_test in ut_object) is
2748
begin
2849
for i in 1 .. self.reporters.count loop
29-
self.reporters(i).begin_suite(a_suite => a_suite);
50+
self.reporters(i).before_test(a_test => a_test);
3051
end loop;
3152
end;
32-
overriding member procedure begin_test(self in out nocopy ut_composite_reporter, a_test ut_object) is
53+
54+
overriding member procedure on_test_setup(self in out nocopy ut_composite_reporter, a_test in ut_object) is
3355
begin
3456
for i in 1 .. self.reporters.count loop
35-
self.reporters(i).begin_test(a_test => a_test);
57+
self.reporters(i).on_test_setup(a_test => a_test);
3658
end loop;
3759
end;
38-
overriding member procedure on_assert(self in out nocopy ut_composite_reporter, a_assert ut_object) is
60+
overriding member procedure on_test_execute(self in out nocopy ut_composite_reporter, a_test in ut_object) is
3961
begin
4062
for i in 1 .. self.reporters.count loop
41-
self.reporters(i).on_assert(a_assert => a_assert);
63+
self.reporters(i).on_test_execute(a_test => a_test);
4264
end loop;
4365
end;
44-
overriding member procedure end_test(self in out nocopy ut_composite_reporter, a_test ut_object) is
66+
overriding member procedure on_test_teardown(self in out nocopy ut_composite_reporter, a_test in ut_object) is
4567
begin
4668
for i in 1 .. self.reporters.count loop
47-
self.reporters(i).end_test(a_test => a_test);
69+
self.reporters(i).on_test_teardown(a_test => a_test);
4870
end loop;
4971
end;
50-
overriding member procedure end_suite(self in out nocopy ut_composite_reporter, a_suite ut_object) is
72+
73+
overriding member procedure before_asserts_process(self in out nocopy ut_composite_reporter, a_test in ut_object) is
5174
begin
5275
for i in 1 .. self.reporters.count loop
53-
self.reporters(i).end_suite(a_suite => a_suite);
76+
self.reporters(i).before_asserts_process(a_test => a_test);
5477
end loop;
5578
end;
79+
overriding member procedure on_assert_process(self in out nocopy ut_composite_reporter, a_assert in ut_object) is
80+
begin
81+
for i in 1 .. self.reporters.count loop
82+
self.reporters(i).on_assert_process(a_assert => a_assert);
83+
end loop;
84+
end;
85+
overriding member procedure after_asserts_process(self in out nocopy ut_composite_reporter, a_test in ut_object) is
86+
begin
87+
for i in 1 .. self.reporters.count loop
88+
self.reporters(i).after_asserts_process(a_test => a_test);
89+
end loop;
90+
end;
91+
92+
overriding member procedure after_test(self in out nocopy ut_composite_reporter, a_test in ut_object) is
93+
begin
94+
for i in 1 .. self.reporters.count loop
95+
self.reporters(i).after_test(a_test => a_test);
96+
end loop;
97+
end;
98+
99+
overriding member procedure on_suite_teardown(self in out nocopy ut_composite_reporter, a_suite in ut_object) is
100+
begin
101+
for i in 1 .. self.reporters.count loop
102+
self.reporters(i).on_suite_teardown(a_suite => a_suite);
103+
end loop;
104+
end;
105+
106+
overriding member procedure after_suite(self in out nocopy ut_composite_reporter, a_suite in ut_object) is
107+
begin
108+
for i in 1 .. self.reporters.count loop
109+
self.reporters(i).after_suite(a_suite => a_suite);
110+
end loop;
111+
end;
112+
113+
overriding member procedure after_execution(self in out nocopy ut_composite_reporter, a_suites in ut_objects_list) is
114+
begin
115+
for i in 1 .. self.reporters.count loop
116+
self.reporters(i).after_execution(a_suites => a_suites);
117+
end loop;
118+
end;
119+
56120

57121
end;
58122
/

source/types/ut_composite_reporter.tps

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,30 @@ create or replace type ut_composite_reporter under ut_reporter
66
return self as result,
77
member procedure add_reporter(self in out nocopy ut_composite_reporter, a_reporter ut_reporter),
88
member procedure remove_reporter(self in out nocopy ut_composite_reporter, a_index pls_integer),
9+
10+
overriding member procedure before_execution(self in out nocopy ut_composite_reporter, a_suites in ut_objects_list),
911

10-
overriding member procedure begin_suite(self in out nocopy ut_composite_reporter, a_suite in ut_object),
11-
overriding member procedure begin_test(self in out nocopy ut_composite_reporter, a_test ut_object),
12-
overriding member procedure on_assert(self in out nocopy ut_composite_reporter, a_assert ut_object),
13-
overriding member procedure end_test(self in out nocopy ut_composite_reporter, a_test ut_object),
14-
overriding member procedure end_suite(self in out nocopy ut_composite_reporter, a_suite ut_object)
12+
overriding member procedure before_suite(self in out nocopy ut_composite_reporter, a_suite in ut_object),
13+
14+
overriding member procedure on_suite_setup(self in out nocopy ut_composite_reporter, a_suite in ut_object),
15+
16+
overriding member procedure before_test(self in out nocopy ut_composite_reporter, a_test in ut_object),
17+
18+
overriding member procedure on_test_setup(self in out nocopy ut_composite_reporter, a_test in ut_object),
19+
overriding member procedure on_test_execute(self in out nocopy ut_composite_reporter, a_test in ut_object),
20+
overriding member procedure on_test_teardown(self in out nocopy ut_composite_reporter, a_test in ut_object),
21+
22+
overriding member procedure before_asserts_process(self in out nocopy ut_composite_reporter, a_test in ut_object),
23+
overriding member procedure on_assert_process(self in out nocopy ut_composite_reporter, a_assert in ut_object),
24+
overriding member procedure after_asserts_process(self in out nocopy ut_composite_reporter, a_test in ut_object),
25+
26+
overriding member procedure after_test(self in out nocopy ut_composite_reporter, a_test in ut_object),
27+
28+
overriding member procedure on_suite_teardown(self in out nocopy ut_composite_reporter, a_suite in ut_object),
29+
30+
overriding member procedure after_suite(self in out nocopy ut_composite_reporter, a_suite in ut_object),
31+
32+
overriding member procedure after_execution(self in out nocopy ut_composite_reporter, a_suites in ut_objects_list)
1533

1634
)
1735
not final

source/types/ut_dbms_output_suite_reporter.tpb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,27 +16,27 @@ create or replace type body ut_dbms_output_suite_reporter is
1616
dbms_output.put_line(msg);
1717
end print;
1818

19-
overriding member procedure begin_suite(self in out nocopy ut_dbms_output_suite_reporter, a_suite ut_object) as
19+
overriding member procedure before_suite(self in out nocopy ut_dbms_output_suite_reporter, a_suite ut_object) as
2020
begin
2121
print(ut_dbms_output_suite_reporter.c_dashed_line);
2222
print('suite "' || a_suite.name || '" started.');
2323
end;
2424

25-
overriding member procedure end_suite(self in out nocopy ut_dbms_output_suite_reporter, a_suite ut_object) as
25+
overriding member procedure after_suite(self in out nocopy ut_dbms_output_suite_reporter, a_suite ut_object) as
2626
begin
2727
--todo: report total suite result here with pretty message
2828
print(ut_dbms_output_suite_reporter.c_dashed_line);
2929
print('suite "' || a_suite.name || '" ended.');
3030
print(ut_dbms_output_suite_reporter.c_dashed_line);
3131
end;
3232

33-
overriding member procedure on_assert(self in out nocopy ut_dbms_output_suite_reporter, a_assert ut_object) as
33+
overriding member procedure on_assert_process(self in out nocopy ut_dbms_output_suite_reporter, a_assert ut_object) as
3434
begin
3535
--todo: report total suite result here with pretty message
3636
null;
3737
end;
3838

39-
overriding member procedure begin_test(self in out nocopy ut_dbms_output_suite_reporter, a_test ut_object) as
39+
overriding member procedure before_test(self in out nocopy ut_dbms_output_suite_reporter, a_test ut_object) as
4040
test ut_test := treat(a_test as ut_test);
4141
begin
4242
print(ut_dbms_output_suite_reporter.c_dashed_line);
@@ -47,7 +47,7 @@ create or replace type body ut_dbms_output_suite_reporter is
4747
end if;
4848
end;
4949

50-
overriding member procedure end_test(self in out nocopy ut_dbms_output_suite_reporter, a_test ut_object) as
50+
overriding member procedure after_test(self in out nocopy ut_dbms_output_suite_reporter, a_test ut_object) as
5151
test ut_test := treat(a_test as ut_test);
5252
assert ut_assert_result;
5353
begin

source/types/ut_dbms_output_suite_reporter.tps

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ create or replace type ut_dbms_output_suite_reporter force under ut_reporter
66
static function c_dashed_line return varchar2,
77
member procedure print(msg varchar2),
88

9-
overriding member procedure begin_suite(self in out nocopy ut_dbms_output_suite_reporter, a_suite ut_object),
10-
overriding member procedure begin_test(self in out nocopy ut_dbms_output_suite_reporter, a_test ut_object),
11-
overriding member procedure on_assert(self in out nocopy ut_dbms_output_suite_reporter, a_assert ut_object),
12-
overriding member procedure end_test(self in out nocopy ut_dbms_output_suite_reporter, a_test ut_object),
13-
overriding member procedure end_suite(self in out nocopy ut_dbms_output_suite_reporter, a_suite ut_object)
9+
overriding member procedure before_suite(self in out nocopy ut_dbms_output_suite_reporter, a_suite ut_object),
10+
overriding member procedure before_test(self in out nocopy ut_dbms_output_suite_reporter, a_test ut_object),
11+
overriding member procedure on_assert_process(self in out nocopy ut_dbms_output_suite_reporter, a_assert ut_object),
12+
overriding member procedure after_test(self in out nocopy ut_dbms_output_suite_reporter, a_test ut_object),
13+
overriding member procedure after_suite(self in out nocopy ut_dbms_output_suite_reporter, a_suite ut_object)
1414

1515
)
1616
not final

0 commit comments

Comments
 (0)