|
| 1 | +create or replace package body ut_assert_processor as |
| 2 | + |
| 3 | + g_asserts_called ut_assert_list := ut_assert_list(); |
| 4 | + |
| 5 | + function get_aggregate_asserts_result return integer is |
| 6 | + l_result integer := ut_utils.tr_success; |
| 7 | + begin |
| 8 | + ut_utils.debug_log('ut_assert.get_aggregate_asserts_result'); |
| 9 | + |
| 10 | + for i in 1 .. g_asserts_called.count loop |
| 11 | + l_result := greatest(l_result, g_asserts_called(i).result); |
| 12 | + exit when l_result = ut_utils.tr_error; |
| 13 | + end loop; |
| 14 | + return l_result; |
| 15 | + |
| 16 | + end get_aggregate_asserts_result; |
| 17 | + |
| 18 | + procedure clear_asserts is |
| 19 | + begin |
| 20 | + ut_utils.debug_log('ut_assert.clear_asserts'); |
| 21 | + g_asserts_called.delete; |
| 22 | + end; |
| 23 | + |
| 24 | + function get_asserts_results return ut_objects_list is |
| 25 | + l_asserts_results ut_objects_list := ut_objects_list(); |
| 26 | + begin |
| 27 | + ut_utils.debug_log('ut_assert.get_asserts_results'); |
| 28 | + if g_asserts_called is not null and g_asserts_called.count > 0 then |
| 29 | + l_asserts_results.extend(g_asserts_called.count); |
| 30 | + for i in 1 .. g_asserts_called.count loop |
| 31 | + l_asserts_results(i) := g_asserts_called(i); |
| 32 | + end loop; |
| 33 | + clear_asserts(); |
| 34 | + end if; |
| 35 | + return l_asserts_results; |
| 36 | + end get_asserts_results; |
| 37 | + |
| 38 | + procedure add_assert_result(a_assert_result ut_assert_result) is |
| 39 | + begin |
| 40 | + g_asserts_called.extend; |
| 41 | + g_asserts_called(g_asserts_called.last) := a_assert_result; |
| 42 | + end; |
| 43 | + |
| 44 | + function build_message(a_message varchar2, a_expected in varchar2, a_actual in varchar2) return varchar2 is |
| 45 | + c_max_value_len constant integer := 1800; |
| 46 | + begin |
| 47 | + return a_message || ', expected: ' || ut_utils.to_string(a_expected)|| ', actual: ' || ut_utils.to_string(a_actual); |
| 48 | + end; |
| 49 | + |
| 50 | + procedure build_assert_result( |
| 51 | + a_assert_result boolean, a_assert_name varchar2, a_expected_type in varchar2, a_actual_type in varchar2, |
| 52 | + a_expected_value_string in varchar2, a_actual_value_string in varchar2, a_message varchar2 |
| 53 | + ) is |
| 54 | + begin |
| 55 | + ut_utils.debug_log('ut_assert.build_assert_result :' || ut_utils.to_test_result(a_assert_result) || ':' || a_message); |
| 56 | + add_assert_result( |
| 57 | + ut_assert_result( |
| 58 | + a_assert_name, ut_utils.to_test_result(a_assert_result), |
| 59 | + a_expected_type, a_actual_type, a_expected_value_string, a_actual_value_string, a_message |
| 60 | + ) |
| 61 | + ); |
| 62 | + end; |
| 63 | + |
| 64 | + procedure report_error(a_message in varchar2) is |
| 65 | + begin |
| 66 | + add_assert_result(ut_assert_result(ut_utils.tr_error, a_message)); |
| 67 | + end; |
| 68 | + |
| 69 | +end; |
| 70 | +/ |
0 commit comments