|
1 | 1 | create or replace type body ut_assertion as |
2 | | - final member procedure build_assert_result( self in ut_assertion, a_assert_result boolean, a_assert_name varchar2, |
3 | | - a_expected_value_string in varchar2, a_expected_data_type varchar2 := null) is |
| 2 | + |
| 3 | + final member procedure add_assert_result( self in ut_assertion, a_assert_result boolean, a_assert_name varchar2, |
| 4 | + a_expected_value_string in varchar2 := null, a_expected_data_type varchar2 := null) is |
4 | 5 | begin |
5 | | - ut_utils.debug_log('ut_assertion.build_assert_result :' || ut_utils.to_test_result(a_assert_result) || ':' || message); |
| 6 | + ut_utils.debug_log('ut_assertion.add_assert_result :' || ut_utils.to_test_result(a_assert_result) || ':' || message); |
6 | 7 | ut_assert_processor.add_assert_result( |
7 | 8 | ut_assert_result( |
8 | 9 | a_assert_name, ut_utils.to_test_result(a_assert_result), |
9 | | - coalesce(a_expected_data_type, self.actual_data.type), self.actual_data.type, a_expected_value_string, self.actual_data.value_string, self.message |
| 10 | + coalesce(a_expected_data_type, self.actual_data.type), self.actual_data.type, a_expected_value_string, self.actual_data.to_string(), self.message |
10 | 11 | ) |
11 | 12 | ); |
12 | 13 | end; |
13 | 14 |
|
14 | 15 | member procedure to_equal(self in ut_assertion, a_expected anydata, a_nulls_are_equal boolean := null) is |
15 | 16 | begin |
16 | 17 | ut_utils.debug_log('ut_assertion.to_equal(self in ut_assertion, a_expected anydata, a_nulls_are_equal boolean := null)'); |
17 | | - self.build_assert_result( false, 'to_equal', ut_utils.to_string(xmltype(a_expected).getclobval()), 'anydata'); |
| 18 | + self.to_( equal(a_expected) ); |
18 | 19 | end; |
19 | 20 |
|
20 | 21 | member procedure to_equal(self in ut_assertion, a_expected blob, a_nulls_are_equal boolean := null) is |
21 | 22 | begin |
22 | 23 | ut_utils.debug_log('ut_assertion.to_equal(self in ut_assertion, a_expected blob, a_nulls_are_equal boolean := null)'); |
23 | | - self.build_assert_result( false, 'to_equal', ut_utils.to_string(a_expected), 'blob'); |
| 24 | + self.to_( equal(a_expected) ); |
24 | 25 | end; |
25 | 26 |
|
26 | 27 | member procedure to_equal(self in ut_assertion, a_expected boolean, a_nulls_are_equal boolean := null) is |
27 | 28 | begin |
28 | 29 | ut_utils.debug_log('ut_assertion.to_equal(self in ut_assertion, a_expected boolean, a_nulls_are_equal boolean := null)'); |
29 | | - self.build_assert_result( false, 'to_equal', ut_utils.to_string(a_expected), 'boolean'); |
| 30 | + self.to_( equal(a_expected) ); |
30 | 31 | end; |
31 | 32 |
|
32 | 33 | member procedure to_equal(self in ut_assertion, a_expected clob, a_nulls_are_equal boolean := null) is |
33 | 34 | begin |
34 | 35 | ut_utils.debug_log('ut_assertion.to_equal(self in ut_assertion, a_expected clob, a_nulls_are_equal boolean := null)'); |
35 | | - self.build_assert_result( false, 'to_equal', ut_utils.to_string(a_expected), 'clob'); |
| 36 | + self.to_( equal(a_expected) ); |
36 | 37 | end; |
37 | 38 |
|
38 | 39 | member procedure to_equal(self in ut_assertion, a_expected date, a_nulls_are_equal boolean := null) is |
39 | 40 | begin |
40 | 41 | ut_utils.debug_log('ut_assertion.to_equal(self in ut_assertion, a_expected date, a_nulls_are_equal boolean := null)'); |
41 | | - self.build_assert_result( false, 'to_equal', ut_utils.to_string(a_expected), 'date'); |
| 42 | + self.to_( equal(a_expected) ); |
42 | 43 | end; |
43 | 44 |
|
44 | 45 | member procedure to_equal(self in ut_assertion, a_expected number, a_nulls_are_equal boolean := null) is |
45 | 46 | begin |
46 | 47 | ut_utils.debug_log('ut_assertion.to_equal(self in ut_assertion, a_expected number, a_nulls_are_equal boolean := null)'); |
47 | | - self.build_assert_result( false, 'to_equal', ut_utils.to_string(a_expected), 'number'); |
| 48 | + self.to_( equal(a_expected) ); |
48 | 49 | end; |
49 | 50 |
|
50 | 51 | member procedure to_equal(self in ut_assertion, a_expected sys_refcursor, a_nulls_are_equal boolean := null) is |
51 | 52 | begin |
52 | 53 | ut_utils.debug_log('ut_assertion.to_equal(self in ut_assertion, a_expected sys_refcursor, a_nulls_are_equal boolean := null)'); |
53 | | - self.build_assert_result( false, 'to_equal', ut_utils.to_string(to_char(null)), 'refcursor'); |
| 54 | + self.to_( equal(a_expected) ); |
54 | 55 | end; |
55 | 56 |
|
56 | 57 | member procedure to_equal(self in ut_assertion, a_expected timestamp_unconstrained, a_nulls_are_equal boolean := null) is |
57 | 58 | begin |
58 | 59 | ut_utils.debug_log('ut_assertion.to_equal(self in ut_assertion, a_expected timestamp_unconstrained, a_nulls_are_equal boolean := null)'); |
59 | | - self.build_assert_result( false, 'to_equal', ut_utils.to_string(a_expected), 'timestamp'); |
| 60 | + self.to_( equal(a_expected) ); |
60 | 61 | end; |
61 | 62 |
|
62 | 63 | member procedure to_equal(self in ut_assertion, a_expected timestamp_ltz_unconstrained, a_nulls_are_equal boolean := null) is |
63 | 64 | begin |
64 | 65 | ut_utils.debug_log('ut_assertion.to_equal(self in ut_assertion, a_expected timestamp_ltz_unconstrained, a_nulls_are_equal boolean := null)'); |
65 | | - self.build_assert_result( false, 'to_equal', ut_utils.to_string(a_expected), 'timestamp with local time zone'); |
| 66 | + self.to_( equal(a_expected) ); |
66 | 67 | end; |
67 | 68 |
|
68 | 69 | member procedure to_equal(self in ut_assertion, a_expected timestamp_tz_unconstrained, a_nulls_are_equal boolean := null) is |
69 | 70 | begin |
70 | 71 | ut_utils.debug_log('ut_assertion.to_equal(self in ut_assertion, a_expected timestamp_tz_unconstrained, a_nulls_are_equal boolean := null)'); |
71 | | - self.build_assert_result( false, 'to_equal', ut_utils.to_string(a_expected), 'timestamp with time zone'); |
| 72 | + self.to_( equal(a_expected) ); |
72 | 73 | end; |
73 | 74 |
|
74 | 75 | member procedure to_equal(self in ut_assertion, a_expected varchar2, a_nulls_are_equal boolean := null) is |
75 | 76 | begin |
76 | 77 | ut_utils.debug_log('ut_assertion.to_equal(self in ut_assertion, a_expected varchar2, a_nulls_are_equal boolean := null)'); |
77 | | - self.build_assert_result( false, 'to_equal', ut_utils.to_string(a_expected), 'varchar2'); |
| 78 | + self.to_( equal(a_expected) ); |
78 | 79 | end; |
79 | 80 |
|
80 | 81 | member procedure to_(self in ut_assertion, a_expectation ut_expectation) is |
81 | | - l_assert_result ut_assert_result; |
| 82 | + l_assert_result boolean; |
| 83 | + l_assert_name varchar2(250); |
82 | 84 | begin |
83 | 85 | ut_utils.debug_log('ut_assertion.to_(self in ut_assertion, a_expectation ut_expectation)'); |
84 | | - l_assert_result := |
85 | | - case |
86 | | - when self.actual_data is of (ut_data_value_anydata) then a_expectation.run_expectation( treat(self.actual_data as ut_data_value_anydata) ) |
87 | | - when self.actual_data is of (ut_data_value_blob) then a_expectation.run_expectation( treat(self.actual_data as ut_data_value_blob) ) |
88 | | - when self.actual_data is of (ut_data_value_boolean) then a_expectation.run_expectation( treat(self.actual_data as ut_data_value_boolean) ) |
89 | | - when self.actual_data is of (ut_data_value_clob) then a_expectation.run_expectation( treat(self.actual_data as ut_data_value_clob) ) |
90 | | - when self.actual_data is of (ut_data_value_date) then a_expectation.run_expectation( treat(self.actual_data as ut_data_value_date) ) |
91 | | - when self.actual_data is of (ut_data_value_number) then a_expectation.run_expectation( treat(self.actual_data as ut_data_value_number) ) |
92 | | - when self.actual_data is of (ut_data_value_refcursor) then a_expectation.run_expectation( treat(self.actual_data as ut_data_value_refcursor) ) |
93 | | - when self.actual_data is of (ut_data_value_timestamp) then a_expectation.run_expectation( treat(self.actual_data as ut_data_value_timestamp) ) |
94 | | - when self.actual_data is of (ut_data_value_timestamp_tz) then a_expectation.run_expectation( treat(self.actual_data as ut_data_value_timestamp_tz) ) |
95 | | - when self.actual_data is of (ut_data_value_timestamp_ltz) then a_expectation.run_expectation( treat(self.actual_data as ut_data_value_timestamp_ltz) ) |
96 | | - when self.actual_data is of (ut_data_value_varchar2) then a_expectation.run_expectation( treat(self.actual_data as ut_data_value_varchar2) ) |
97 | | - end; |
98 | | - l_assert_result.message := self.message; |
99 | | - l_assert_result.name := 'to '||l_assert_result.name; |
100 | | - ut_assert_processor.add_assert_result( l_assert_result ); |
| 86 | + |
| 87 | + l_assert_result := a_expectation.run_expectation( self.actual_data ); |
| 88 | + l_assert_name := 'to '||a_expectation.name; |
| 89 | + if a_expectation.expected is not null then |
| 90 | + add_assert_result( l_assert_result, l_assert_name, a_expectation.expected.to_string(), a_expectation.expected.type); |
| 91 | + else |
| 92 | + add_assert_result( l_assert_result, l_assert_name ); |
| 93 | + end if; |
101 | 94 | end; |
102 | 95 |
|
103 | 96 | final member procedure to_be_null(self in ut_assertion) is |
104 | 97 | begin |
105 | 98 | ut_utils.debug_log('ut_assertion.to_be_null'); |
106 | | - self.build_assert_result(ut_utils.int_to_boolean(self.actual_data.is_null), 'to_be_null', null, ut_utils.to_string(to_char(null))); |
| 99 | + self.to_( be_null() ); |
107 | 100 | end; |
108 | 101 |
|
109 | 102 | final member procedure to_be_not_null(self in ut_assertion) is |
110 | 103 | begin |
111 | 104 | ut_utils.debug_log('ut_assertion.to_be_not_null'); |
112 | | - self.build_assert_result(not ut_utils.int_to_boolean(self.actual_data.is_null), 'to_be_not_null', null, ut_utils.to_string(to_char(null))); |
| 105 | + self.to_( be_not_null() ); |
113 | 106 | end; |
114 | 107 |
|
115 | 108 | end; |
|
0 commit comments