You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
overriding member function run_matcher(self in out nocopy ut_be_within, a_actual ut_data_value) return boolean is
59
+
l_result boolean;
60
+
begin
61
+
if self.expected.data_type = a_actual.data_type then
62
+
if self.expected is of (ut_data_value_number) and self.is_pct = 0 then
63
+
l_result := abs((treat(self.expected as ut_data_value_number).data_value - treat(a_actual as ut_data_value_number).data_value)) <= treat(self.dist as ut_data_value_number).data_value;
64
+
elsif self.expected is of (ut_data_value_number) and self.is_pct = 1 then
65
+
l_result := treat(self.dist as ut_data_value_number).data_value >= ((treat(self.expected as ut_data_value_number).data_value - treat(a_actual as ut_data_value_number).data_value ) * 100 ) /
66
+
(treat(self.expected as ut_data_value_number).data_value) ;
67
+
elsif self.expected is of (ut_data_value_date) and self.dist is of ( ut_data_value_yminterval) then
68
+
l_result := treat(a_actual as ut_data_value_date).data_value between (treat(self.expected as ut_data_value_date).data_value) - treat(self.dist as ut_data_value_yminterval).data_value
69
+
and (treat(self.expected as ut_data_value_date).data_value) + treat(self.dist as ut_data_value_yminterval).data_value;
70
+
elsif self.expected is of (ut_data_value_date) and self.dist is of ( ut_data_value_dsinterval) then
71
+
l_result := treat(a_actual as ut_data_value_date).data_value between (treat(self.expected as ut_data_value_date).data_value) - treat(self.dist as ut_data_value_dsinterval).data_value
72
+
and (treat(self.expected as ut_data_value_date).data_value) + treat(self.dist as ut_data_value_dsinterval).data_value;
73
+
end if;
74
+
else
75
+
l_result := (self as ut_matcher).run_matcher(a_actual);
76
+
end if;
77
+
return l_result;
78
+
end;
79
+
80
+
overriding member function failure_message(a_actual ut_data_value) return varchar2 is
81
+
l_distance varchar2(32767);
82
+
begin
83
+
l_distance := case
84
+
when self.dist is of (ut_data_value_number) then
85
+
treat(self.dist as ut_data_value_number).to_string
86
+
when self.dist is of (ut_data_value_yminterval) then
87
+
treat(self.dist as ut_data_value_yminterval).to_string
88
+
when self.dist is of (ut_data_value_dsinterval) then
89
+
treat(self.dist as ut_data_value_dsinterval).to_string
90
+
else
91
+
null
92
+
end;
93
+
94
+
return (self as ut_matcher).failure_message(a_actual) || ' '||l_distance ||' of '|| expected.to_string_report();
95
+
end;
96
+
97
+
overriding member function failure_message_when_negated(a_actual ut_data_value) return varchar2 is
98
+
l_result varchar2(32767);
99
+
begin
100
+
return (self as ut_matcher).failure_message_when_negated(a_actual) || ': '|| expected.to_string_report();
0 commit comments