@@ -8,7 +8,7 @@ create or replace type body ut_composite_reporter is
88 return;
99 end;
1010
11- member procedure add_reporter(self in out nocopy ut_composite_reporter, a_reporter ut_suite_reporter ) is
11+ member procedure add_reporter(self in out nocopy ut_composite_reporter, a_reporter ut_reporter ) is
1212 begin
1313 self.reporters.extend(1);
1414 self.reporters(self.reporters.last) := a_reporter;
@@ -23,34 +23,143 @@ create or replace type body ut_composite_reporter is
2323
2424 end;
2525
26- overriding member procedure begin_suite (self in out nocopy ut_composite_reporter, a_suite ut_object ) is
26+ overriding member procedure before_run (self in out nocopy ut_composite_reporter, a_suites in ut_objects_list ) is
2727 begin
2828 for i in 1 .. self.reporters.count loop
29- self.reporters(i).begin_suite(a_suite => a_suite );
29+ self.reporters(i).before_run(a_suites => a_suites );
3030 end loop;
3131 end;
32- overriding member procedure begin_test (self in out nocopy ut_composite_reporter, a_test ut_object ) is
32+ overriding member procedure after_run (self in out nocopy ut_composite_reporter, a_suites in ut_objects_list ) is
3333 begin
3434 for i in 1 .. self.reporters.count loop
35- self.reporters(i).begin_test(a_test => a_test );
35+ self.reporters(i).after_run(a_suites => a_suites );
3636 end loop;
3737 end;
38- overriding member procedure on_assert(self in out nocopy ut_composite_reporter, a_assert ut_object) is
38+
39+ -- suite hooks
40+ overriding member procedure before_suite(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).before_suite(a_suite => a_suite);
44+ end loop;
45+ end;
46+
47+ overriding member procedure before_suite_setup(self in out nocopy ut_composite_reporter, a_suite in ut_object) is
48+ begin
49+ for i in 1 .. self.reporters.count loop
50+ self.reporters(i).before_suite_setup(a_suite => a_suite);
51+ end loop;
52+ end;
53+ overriding member procedure after_suite_setup(self in out nocopy ut_composite_reporter, a_suite in ut_object) is
54+ begin
55+ for i in 1 .. self.reporters.count loop
56+ self.reporters(i).after_suite_setup(a_suite => a_suite);
57+ end loop;
58+ end;
59+
60+ overriding member procedure before_suite_item(self in out nocopy ut_composite_reporter, a_suite in ut_object, a_item_index pls_integer) is
61+ begin
62+ for i in 1 .. self.reporters.count loop
63+ self.reporters(i).before_suite_item(a_suite => a_suite, a_item_index => a_item_index);
64+ end loop;
65+ end;
66+ overriding member procedure after_suite_item(self in out nocopy ut_composite_reporter, a_suite in ut_object, a_item_index pls_integer) is
3967 begin
4068 for i in 1 .. self.reporters.count loop
41- self.reporters(i).on_assert(a_assert => a_assert );
69+ self.reporters(i).after_suite_item(a_suite => a_suite, a_item_index => a_item_index );
4270 end loop;
4371 end;
44- overriding member procedure end_test(self in out nocopy ut_composite_reporter, a_test ut_object) is
72+
73+ overriding member procedure before_suite_teardown(self in out nocopy ut_composite_reporter, a_suite in ut_object) is
74+ begin
75+ for i in 1 .. self.reporters.count loop
76+ self.reporters(i).before_suite_teardown(a_suite => a_suite);
77+ end loop;
78+ end;
79+ overriding member procedure after_suite_teardown(self in out nocopy ut_composite_reporter, a_suite in ut_object) is
80+ begin
81+ for i in 1 .. self.reporters.count loop
82+ self.reporters(i).after_suite_teardown(a_suite => a_suite);
83+ end loop;
84+ end;
85+
86+ overriding member procedure after_suite(self in out nocopy ut_composite_reporter, a_suite in ut_object) is
4587 begin
4688 for i in 1 .. self.reporters.count loop
47- self.reporters(i).end_test(a_test => a_test );
89+ self.reporters(i).after_suite(a_suite => a_suite );
4890 end loop;
4991 end;
50- overriding member procedure end_suite(self in out nocopy ut_composite_reporter, a_suite ut_object) is
92+
93+ -- test hooks
94+ overriding member procedure before_test(self in out nocopy ut_composite_reporter, a_test in ut_object) is
95+ begin
96+ for i in 1 .. self.reporters.count loop
97+ self.reporters(i).before_test(a_test => a_test);
98+ end loop;
99+ end;
100+
101+ overriding member procedure before_test_setup(self in out nocopy ut_composite_reporter, a_test in ut_object) is
102+ begin
103+ for i in 1 .. self.reporters.count loop
104+ self.reporters(i).before_test_setup(a_test => a_test);
105+ end loop;
106+ end;
107+ overriding member procedure after_test_setup(self in out nocopy ut_composite_reporter, a_test in ut_object) is
108+ begin
109+ for i in 1 .. self.reporters.count loop
110+ self.reporters(i).after_test_setup(a_test => a_test);
111+ end loop;
112+ end;
113+
114+ overriding member procedure before_test_execute(self in out nocopy ut_composite_reporter, a_test in ut_object) is
115+ begin
116+ for i in 1 .. self.reporters.count loop
117+ self.reporters(i).before_test_execute(a_test => a_test);
118+ end loop;
119+ end;
120+ overriding member procedure after_test_execute(self in out nocopy ut_composite_reporter, a_test in ut_object) is
121+ begin
122+ for i in 1 .. self.reporters.count loop
123+ self.reporters(i).after_test_execute(a_test => a_test);
124+ end loop;
125+ end;
126+
127+ overriding member procedure before_test_teardown(self in out nocopy ut_composite_reporter, a_test in ut_object) is
128+ begin
129+ for i in 1 .. self.reporters.count loop
130+ self.reporters(i).before_test_teardown(a_test => a_test);
131+ end loop;
132+ end;
133+ overriding member procedure after_test_teardown(self in out nocopy ut_composite_reporter, a_test in ut_object) is
134+ begin
135+ for i in 1 .. self.reporters.count loop
136+ self.reporters(i).after_test_teardown(a_test => a_test);
137+ end loop;
138+ end;
139+
140+ overriding member procedure before_asserts_process(self in out nocopy ut_composite_reporter, a_test in ut_object) is
141+ begin
142+ for i in 1 .. self.reporters.count loop
143+ self.reporters(i).before_asserts_process(a_test => a_test);
144+ end loop;
145+ end;
146+ overriding member procedure on_assert_process(self in out nocopy ut_composite_reporter, a_assert in ut_object) is
147+ begin
148+ for i in 1 .. self.reporters.count loop
149+ self.reporters(i).on_assert_process(a_assert => a_assert);
150+ end loop;
151+ end;
152+ overriding member procedure after_asserts_process(self in out nocopy ut_composite_reporter, a_test in ut_object) is
153+ begin
154+ for i in 1 .. self.reporters.count loop
155+ self.reporters(i).after_asserts_process(a_test => a_test);
156+ end loop;
157+ end;
158+
159+ overriding member procedure after_test(self in out nocopy ut_composite_reporter, a_test in ut_object) is
51160 begin
52161 for i in 1 .. self.reporters.count loop
53- self.reporters(i).end_suite(a_suite => a_suite );
162+ self.reporters(i).after_test(a_test => a_test );
54163 end loop;
55164 end;
56165
0 commit comments