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

Skip to content

Commit fa52a09

Browse files
committed
refactored
1 parent 9caa870 commit fa52a09

14 files changed

Lines changed: 102 additions & 52 deletions

examples/remove_rooms_by_name/test_remove_rooms_by_name.pkg

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,26 @@ create or replace package test_remove_rooms_by_name as
55

66
-- %beforeall
77
procedure setup_rooms;
8+
9+
-- %beforeeach
10+
procedure setup_the_room;
11+
12+
-- %aftereach
13+
procedure clean_the_room;
14+
15+
-- %afterall
16+
procedure clean_rooms;
817

918
-- %test
1019
-- %displayname(Removes a room without content in it)
1120
procedure remove_empty_room;
1221

22+
-- %beforetest(remove_empty_room)
23+
procedure setup_test_room;
24+
25+
-- %aftertest(remove_empty_room)
26+
procedure clean_test_room;
27+
1328
-- %test
1429
-- %displayname(Does not remove room when it has content)
1530
procedure room_with_content;
@@ -24,6 +39,7 @@ create or replace package body test_remove_rooms_by_name as
2439

2540
procedure setup_rooms is
2641
begin
42+
2743
insert all
2844
into rooms values(1, 'Dining Room')
2945
into rooms values(2, 'Living Room')
@@ -44,6 +60,22 @@ create or replace package body test_remove_rooms_by_name as
4460
into room_contents values(9, 3, 'Whiteboard')
4561
select 1 from dual;
4662
end;
63+
64+
-- %beforeeach
65+
procedure setup_the_room is begin null end;
66+
67+
-- %aftereach
68+
procedure clean_the_room is begin null end;
69+
70+
-- %afterall
71+
procedure clean_rooms is begin null end;
72+
73+
-- %beforetest(remove_empty_room)
74+
procedure setup_test_room is begin null end;
75+
76+
-- %aftertest(remove_empty_room)
77+
procedure clean_test_room is begin null end;
78+
4779

4880
procedure remove_empty_room is
4981
l_rooms_not_named_b sys_refcursor;

source/core/types/ut_event_listener.tpb

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -89,13 +89,6 @@ create or replace type body ut_event_listener is
8989
end loop;
9090

9191
end fire_event;
92-
93-
overriding member procedure save_warning(self in out nocopy ut_event_listener, a_item ut_suite_item_base, a_message varchar2) is
94-
begin
95-
for i in 1..self.reporters.count loop
96-
self.reporters(i).save_warning(a_item, a_message);
97-
end loop;
98-
end;
9992

10093
end;
10194
/

source/core/types/ut_event_listener.tps

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ create or replace type ut_event_listener under ut_event_listener_base(
1919
constructor function ut_event_listener(self in out nocopy ut_event_listener, a_reporters ut_reporters) return self as result,
2020
overriding member procedure fire_before_event(self in out nocopy ut_event_listener, a_event_name varchar2, a_item ut_suite_item_base),
2121
overriding member procedure fire_after_event(self in out nocopy ut_event_listener, a_event_name varchar2, a_item ut_suite_item_base),
22-
overriding member procedure fire_event(self in out nocopy ut_event_listener, a_event_timing varchar2, a_event_name varchar2, a_item ut_suite_item_base),
23-
overriding member procedure save_warning(self in out nocopy ut_event_listener, a_item ut_suite_item_base, a_message varchar2)
22+
overriding member procedure fire_event(self in out nocopy ut_event_listener, a_event_timing varchar2, a_event_name varchar2, a_item ut_suite_item_base)
2423
)
2524
/

source/core/types/ut_event_listener_base.tps

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
create or replace type ut_event_listener_base as object(
1+
create or replace type ut_event_listener_base as object(
22
/*
33
utPLSQL - Version X.X.X.X
44
Copyright 2016 - 2017 utPLSQL Project
@@ -18,7 +18,6 @@ create or replace type ut_event_listener_base as object(
1818
name varchar2(250),
1919
member procedure fire_before_event(self in out nocopy ut_event_listener_base, a_event_name varchar2, a_item ut_suite_item_base),
2020
member procedure fire_after_event(self in out nocopy ut_event_listener_base, a_event_name varchar2, a_item ut_suite_item_base),
21-
member procedure fire_event(self in out nocopy ut_event_listener_base, a_event_timing varchar2, a_event_name varchar2, a_item ut_suite_item_base),
22-
member procedure save_warning(self in out nocopy ut_event_listener_base,a_item ut_suite_item_base, a_message varchar2)
21+
member procedure fire_event(self in out nocopy ut_event_listener_base, a_event_timing varchar2, a_event_name varchar2, a_item ut_suite_item_base)
2322
) not final not instantiable
2423
/

source/core/types/ut_reporter_base.tpb

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ create or replace type body ut_reporter_base is
2121
self.self_type := a_self_type;
2222
self.reporter_id := sys_guid();
2323
self.start_date := sysdate();
24-
self.warnings := ut_varchar2_list();
2524
return;
2625
end;
2726

@@ -132,11 +131,6 @@ create or replace type body ut_reporter_base is
132131
begin
133132
ut_output_buffer.close(self);
134133
end;
135-
136-
member procedure save_warning(self in out nocopy ut_reporter_base, a_item ut_suite_item_base, a_message varchar2) is
137-
begin
138-
self.warnings.extend;
139-
self.warnings(self.warnings.last) := a_message;
140-
end;
134+
141135
end;
142136
/

source/core/types/ut_reporter_base.tps

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
create or replace type ut_reporter_base force authid current_user as object(
1+
create or replace type ut_reporter_base authid current_user as object(
22
/*
33
utPLSQL - Version X.X.X.X
44
Copyright 2016 - 2017 utPLSQL Project
@@ -18,7 +18,6 @@ create or replace type ut_reporter_base force authid current_user as object(
1818
self_type varchar2(250),
1919
reporter_id raw(32),
2020
start_date date,
21-
warnings ut_varchar2_list,
2221
final member procedure init(self in out nocopy ut_reporter_base, a_self_type varchar2),
2322
final member function get_reporter_id(self in out nocopy ut_reporter_base) return raw,
2423

@@ -60,9 +59,7 @@ create or replace type ut_reporter_base force authid current_user as object(
6059
member procedure after_calling_suite(self in out nocopy ut_reporter_base, a_suite in ut_logical_suite),
6160

6261
-- run hooks continued
63-
member procedure after_calling_run (self in out nocopy ut_reporter_base, a_run in ut_run),
64-
65-
member procedure save_warning(self in out nocopy ut_reporter_base, a_item ut_suite_item_base, a_message varchar2)
62+
member procedure after_calling_run (self in out nocopy ut_reporter_base, a_run in ut_run)
6663

6764
)
6865
not final not instantiable

source/core/types/ut_results_counter.tpb

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@ create or replace type body ut_results_counter as
1717
*/
1818
constructor function ut_results_counter(self in out nocopy ut_results_counter) return self as result is
1919
begin
20-
self.ignored_count := 0;
21-
self.success_count := 0;
22-
self.failure_count := 0;
23-
self.errored_count := 0;
20+
self.ignored_count := 0;
21+
self.success_count := 0;
22+
self.failure_count := 0;
23+
self.errored_count := 0;
24+
self.warnings_count := 0;
2425
return;
2526
end;
2627

@@ -39,10 +40,17 @@ create or replace type body ut_results_counter as
3940
self.success_count := self.success_count + a_item.success_count;
4041
self.failure_count := self.failure_count + a_item.failure_count;
4142
self.errored_count := self.errored_count + a_item.errored_count;
43+
self.warnings_count := self.warnings_count + a_item.warnings_count;
44+
end;
45+
46+
member procedure increase_warning_count(self in out nocopy ut_results_counter) is
47+
begin
48+
self.warnings_count := self.warnings_count + 1;
4249
end;
4350

4451
member function total_count return integer is
4552
begin
53+
--skip warnings here
4654
return self.ignored_count + self.success_count + self.failure_count + self.errored_count;
4755
end;
4856

source/core/types/ut_results_counter.tps

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,11 @@ create or replace type ut_results_counter as object(
1919
success_count integer,
2020
failure_count integer,
2121
errored_count integer,
22+
warnings_count integer,
2223
constructor function ut_results_counter(self in out nocopy ut_results_counter) return self as result,
2324
constructor function ut_results_counter(self in out nocopy ut_results_counter, a_status integer) return self as result,
2425
member procedure sum_counter_values(self in out nocopy ut_results_counter, a_item ut_results_counter),
26+
member procedure increase_warning_count(self in out nocopy ut_results_counter),
2527
member function total_count return integer,
2628
member function result_status return integer
2729
)

source/core/types/ut_suite.tpb

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -81,37 +81,34 @@ create or replace type body ut_suite as
8181

8282
--savepoint
8383
l_item_savepoint := self.items(i).create_savepoint_if_needed();
84+
8485
--before each
8586
--includes listener calls for before and after actions
8687
l_completed_without_errors := self.before_each.do_execute(self, a_listener);
8788

8889
-- execute the item (test or suite)
8990
if l_completed_without_errors then
9091
l_completed_without_errors := self.items(i).do_execute(a_listener);
91-
92-
--after each
93-
--includes listener calls for before and after actions
94-
-- run afteeach even if a test raised an exception
95-
l_completed_without_errors := self.after_each.do_execute(self, a_listener);
96-
97-
if not l_completed_without_errors then
98-
a_listener.save_warning(self,'Aftereach procedure failed:'||chr(10)||ut_assert_processor.get_asserts_results()(1).error_message);
99-
--self.items(i).fail(a_listener, 'Aftereach procedure failed:'||chr(10)||ut_assert_processor.get_asserts_results()(1).error_message);
100-
end if;
101-
10292
else
10393
self.items(i).fail(a_listener, 'Beforeach procedure failed:'||chr(10)||ut_assert_processor.get_asserts_results()(1).error_message);
10494
end if;
95+
96+
--after each
97+
--includes listener calls for before and after actions
98+
--run afteeach even if a test raised an exception
99+
l_completed_without_errors := self.after_each.do_execute(self, a_listener);
100+
if not l_completed_without_errors then
101+
self.put_warning('Aftereach procedure failed:'||chr(10)||ut_assert_processor.get_asserts_results()(1).error_message);
102+
end if;
105103

106104
--rollback to savepoint
107105
self.items(i).rollback_to_savepoint(l_item_savepoint);
108106

109-
-- exit when not l_completed_without_errors;
110107
end loop;
111108

112109
l_suite_step_without_errors := self.after_all.do_execute(self, a_listener);
113110
if not l_suite_step_without_errors then
114-
a_listener.save_warning(self, 'Afterall procedure failed: '||chr(10)||ut_assert_processor.get_asserts_results()(1).error_message);
111+
self.put_warning('Afterall procedure failed: '||chr(10)||ut_assert_processor.get_asserts_results()(1).error_message);
115112
end if;
116113
else
117114
do_fail('Beforeall procedure failed: '||chr(10));

source/core/types/ut_suite_item.tpb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ create or replace type body ut_suite_item as
2929
self.rollback_type := a_rollback_type;
3030
self.ignore_flag := ut_utils.boolean_to_int(a_ignore_flag);
3131
self.results_count := ut_results_counter();
32+
self.warnings := ut_varchar2_list();
3233
end;
3334

3435
member procedure set_ignore_flag(self in out nocopy ut_suite_item, a_ignore_flag boolean) is
@@ -73,6 +74,13 @@ create or replace type body ut_suite_item as
7374
begin
7475
return ut_utils.time_diff(start_time, end_time);
7576
end;
77+
78+
member procedure put_warning(self in out nocopy ut_suite_item, a_message varchar2) is
79+
begin
80+
self.warnings.extend;
81+
self.warnings(self.warnings.last) := a_message;
82+
self.results_count.increase_warning_count;
83+
end;
7684

7785
end;
7886
/

0 commit comments

Comments
 (0)