@@ -23,17 +23,34 @@ create or replace type body ut_dbms_output_suite_reporter is
2323 end;
2424
2525 overriding member procedure after_suite(self in out nocopy ut_dbms_output_suite_reporter, a_suite ut_object) as
26+ l_suite ut_test_object := treat(a_suite as ut_test_object);
27+ l_duration interval day(0) to second(6) := (l_suite.end_time - l_suite.start_time);
2628 begin
2729 --todo: report total suite result here with pretty message
2830 print(ut_dbms_output_suite_reporter.c_dashed_line);
29- print('suite "' || a_suite .name || '" ended.' );
31+ print('suite "' || l_suite .name || '" ended. Took: '||to_char(l_duration) );
3032 print(ut_dbms_output_suite_reporter.c_dashed_line);
3133 end;
3234
35+ overriding member procedure before_asserts_process(self in out nocopy ut_dbms_output_suite_reporter, a_test in ut_object) as
36+ begin
37+ print('asserts');
38+ end;
39+
3340 overriding member procedure on_assert_process(self in out nocopy ut_dbms_output_suite_reporter, a_assert ut_object) as
41+ l_assert ut_assert_result := treat(a_assert as ut_assert_result);
3442 begin
35- --todo: report total suite result here with pretty message
36- null;
43+ if l_assert is not null then
44+ print(l_assert.result_to_char());
45+ if l_assert.message is not null then
46+ print('message: '||l_assert.message);
47+ end if;
48+ if l_assert.result != ut_utils.tr_success then
49+ print('expected: ' || l_assert.expected_value_string||'('||l_assert.expected_type||')');
50+ print(' got: ' || l_assert.actual_value_string||'('||l_assert.actual_type||')');
51+ print('using: '||l_assert.name);
52+ end if;
53+ end if;
3754 end;
3855
3956 overriding member procedure before_test(self in out nocopy ut_dbms_output_suite_reporter, a_test ut_object) as
@@ -48,17 +65,10 @@ create or replace type body ut_dbms_output_suite_reporter is
4865 end;
4966
5067 overriding member procedure after_test(self in out nocopy ut_dbms_output_suite_reporter, a_test ut_object) as
51- test ut_test := treat(a_test as ut_test);
52- assert ut_assert_result ;
68+ l_test ut_test_object := treat(a_test as ut_test);
69+ l_duration interval day(0) to second(6) := (l_test.end_time - l_test.start_time) ;
5370 begin
54- print('result: ' || test.result_to_char);
55- print('asserts');
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;
71+ print('result: ' || l_test.result_to_char||'. Took: '||to_char(l_duration));
6272 end;
6373
6474end;
0 commit comments