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

Skip to content

Commit b310f99

Browse files
committed
Refactoring expectation.
1 parent c991dd4 commit b310f99

4 files changed

Lines changed: 36 additions & 43 deletions

File tree

source/expectations/equal.tpb

Lines changed: 32 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,58 @@
11
create or replace type body equal as
2-
constructor function equal(self in out nocopy equal, a_expected varchar2, a_nulls_are_equal boolean := null) return self as result is
2+
3+
member procedure init(self in out nocopy equal, a_expected ut_data_value, a_nulls_are_equal boolean) is
34
begin
45
self.nulls_are_equal := ut_utils.boolean_to_int( coalesce(a_nulls_are_equal, ut_assert_processor.nulls_are_equal()) );
56
self.assert_name := lower($$plsql_unit);
6-
self.expected := ut_data_value_varchar2('varchar2', ut_utils.boolean_to_int(a_expected is null), ut_utils.to_string(a_expected), a_expected);
7+
self.expected := a_expected;
8+
end;
9+
10+
overriding member function build_assert_result( self in equal, a_assert_result boolean, a_actual ut_data_value) return ut_assert_result is
11+
l_nulls_are_equal boolean;
12+
begin
13+
ut_utils.debug_log('equal.build_assert_result :' || ut_utils.to_test_result(a_assert_result) || ':');
14+
l_nulls_are_equal := (self.expected.is_null + a_actual.is_null + self.nulls_are_equal = 3); --all 3 are true
15+
return
16+
ut_assert_result(
17+
self.assert_name, ut_utils.to_test_result(a_assert_result or l_nulls_are_equal),
18+
self.expected.type, a_actual.type,
19+
self.expected.value_string, a_actual.value_string, null
20+
);
21+
end;
22+
23+
constructor function equal(self in out nocopy equal, a_expected varchar2, a_nulls_are_equal boolean := null) return self as result is
24+
begin
25+
init(ut_data_value_varchar2('varchar2', ut_utils.boolean_to_int(a_expected is null), ut_utils.to_string(a_expected), a_expected), a_nulls_are_equal);
726
return;
827
end;
928

1029
constructor function equal(self in out nocopy equal, a_expected number, a_nulls_are_equal boolean := null) return self as result is
1130
begin
12-
self.nulls_are_equal := ut_utils.boolean_to_int( coalesce(a_nulls_are_equal, ut_assert_processor.nulls_are_equal()) );
13-
self.assert_name := lower($$plsql_unit);
14-
self.expected := ut_data_value_number('number', ut_utils.boolean_to_int(a_expected is null), ut_utils.to_string(a_expected), a_expected);
31+
init(ut_data_value_number('number', ut_utils.boolean_to_int(a_expected is null), ut_utils.to_string(a_expected), a_expected), a_nulls_are_equal);
1532
return;
1633
end;
1734

1835
constructor function equal(self in out nocopy equal, a_expected clob, a_nulls_are_equal boolean := null) return self as result is
1936
begin
20-
self.nulls_are_equal := ut_utils.boolean_to_int( coalesce(a_nulls_are_equal, ut_assert_processor.nulls_are_equal()) );
21-
self.assert_name := lower($$plsql_unit);
22-
self.expected := ut_data_value_clob('clob', ut_utils.boolean_to_int(a_expected is null), ut_utils.to_string(a_expected), a_expected);
37+
init(ut_data_value_clob('clob', ut_utils.boolean_to_int(a_expected is null), ut_utils.to_string(a_expected), a_expected), a_nulls_are_equal);
2338
return;
2439
end;
2540

2641
constructor function equal(self in out nocopy equal, a_expected blob, a_nulls_are_equal boolean := null) return self as result is
2742
begin
28-
self.nulls_are_equal := ut_utils.boolean_to_int( coalesce(a_nulls_are_equal, ut_assert_processor.nulls_are_equal()) );
29-
self.assert_name := lower($$plsql_unit);
30-
self.expected := ut_data_value_blob('blob', ut_utils.boolean_to_int(a_expected is null), ut_utils.to_string(a_expected), a_expected);
43+
init(ut_data_value_blob('blob', ut_utils.boolean_to_int(a_expected is null), ut_utils.to_string(a_expected), a_expected), a_nulls_are_equal);
3144
return;
3245
end;
3346

3447
constructor function equal(self in out nocopy equal, a_expected date, a_nulls_are_equal boolean := null) return self as result is
3548
begin
36-
self.nulls_are_equal := ut_utils.boolean_to_int( coalesce(a_nulls_are_equal, ut_assert_processor.nulls_are_equal()) );
37-
self.assert_name := lower($$plsql_unit);
38-
self.expected := ut_data_value_date('date', ut_utils.boolean_to_int(a_expected is null), ut_utils.to_string(a_expected), a_expected);
49+
init(ut_data_value_date('date', ut_utils.boolean_to_int(a_expected is null), ut_utils.to_string(a_expected), a_expected), a_nulls_are_equal);
3950
return;
4051
end;
4152

4253
constructor function equal(self in out nocopy equal, a_expected timestamp_unconstrained, a_nulls_are_equal boolean := null) return self as result is
4354
begin
44-
self.nulls_are_equal := ut_utils.boolean_to_int( coalesce(a_nulls_are_equal, ut_assert_processor.nulls_are_equal()) );
45-
self.assert_name := lower($$plsql_unit);
46-
self.expected := ut_data_value_date('timestamp', ut_utils.boolean_to_int(a_expected is null), ut_utils.to_string(a_expected), a_expected);
55+
init(ut_data_value_date('timestamp', ut_utils.boolean_to_int(a_expected is null), ut_utils.to_string(a_expected), a_expected), a_nulls_are_equal);
4756
return;
4857
end;
4958

@@ -55,10 +64,7 @@ create or replace type body equal as
5564
when self.expected is of (ut_data_value_varchar2) then treat(self.expected as ut_data_value_varchar2).value
5665
end;
5766
return
58-
self.build_assert_result(
59-
((l_expected = a_actual.value) or (a_actual.value is null and l_expected is null and ut_utils.int_to_boolean(self.nulls_are_equal)))
60-
, a_actual
61-
);
67+
self.build_assert_result((l_expected = a_actual.value), a_actual);
6268
end;
6369

6470
overriding member function run_expectation(self in equal, a_actual ut_data_value_number) return ut_assert_result is
@@ -69,10 +75,7 @@ create or replace type body equal as
6975
when self.expected is of (ut_data_value_number) then treat(self.expected as ut_data_value_number).value
7076
end;
7177
return
72-
self.build_assert_result(
73-
((l_expected = a_actual.value) or (a_actual.value is null and l_expected is null and ut_utils.int_to_boolean(self.nulls_are_equal)) )
74-
, a_actual
75-
);
78+
self.build_assert_result((l_expected = a_actual.value), a_actual);
7679
end;
7780

7881
overriding member function run_expectation(self in equal, a_actual ut_data_value_clob) return ut_assert_result is
@@ -83,10 +86,7 @@ create or replace type body equal as
8386
when self.expected is of (ut_data_value_clob) then treat(self.expected as ut_data_value_clob).value
8487
end;
8588
return
86-
self.build_assert_result(
87-
((l_expected = a_actual.value) or (a_actual.value is null and l_expected is null and ut_utils.int_to_boolean(self.nulls_are_equal)) )
88-
, a_actual
89-
);
89+
self.build_assert_result((l_expected = a_actual.value), a_actual);
9090
end;
9191

9292
overriding member function run_expectation(self in equal, a_actual ut_data_value_blob) return ut_assert_result is
@@ -97,10 +97,7 @@ create or replace type body equal as
9797
when self.expected is of (ut_data_value_blob) then treat(self.expected as ut_data_value_blob).value
9898
end;
9999
return
100-
self.build_assert_result(
101-
(dbms_lob.compare( l_expected, a_actual.value ) = 0 or (a_actual.value is null and l_expected is null and ut_utils.int_to_boolean(self.nulls_are_equal)) )
102-
, a_actual
103-
);
100+
self.build_assert_result((dbms_lob.compare( l_expected, a_actual.value ) = 0), a_actual);
104101
end;
105102

106103
overriding member function run_expectation(self in equal, a_actual ut_data_value_date) return ut_assert_result is
@@ -111,10 +108,7 @@ create or replace type body equal as
111108
when self.expected is of (ut_data_value_date) then treat(self.expected as ut_data_value_date).value
112109
end;
113110
return
114-
self.build_assert_result(
115-
((l_expected = a_actual.value) or (a_actual.value is null and l_expected is null and ut_utils.int_to_boolean(self.nulls_are_equal)) )
116-
, a_actual
117-
);
111+
self.build_assert_result((l_expected = a_actual.value), a_actual );
118112
end;
119113

120114
overriding member function run_expectation(self in equal, a_actual ut_data_value_timestamp) return ut_assert_result is
@@ -125,10 +119,7 @@ create or replace type body equal as
125119
when self.expected is of (ut_data_value_timestamp) then treat(self.expected as ut_data_value_timestamp).value
126120
end;
127121
return
128-
self.build_assert_result(
129-
((l_expected = a_actual.value) or (a_actual.value is null and l_expected is null and ut_utils.int_to_boolean(self.nulls_are_equal)) )
130-
, a_actual
131-
);
122+
self.build_assert_result((l_expected = a_actual.value), a_actual );
132123
end;
133124

134125
end;

source/expectations/equal.tps

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
create or replace type equal under ut_expectation(
22
nulls_are_equal number(1,0),
3+
member procedure init(self in out nocopy equal, a_expected ut_data_value, a_nulls_are_equal boolean),
4+
overriding member function build_assert_result( self in equal, a_assert_result boolean, a_actual ut_data_value) return ut_assert_result,
35
constructor function equal(self in out nocopy equal, a_expected varchar2, a_nulls_are_equal boolean := null) return self as result,
46
constructor function equal(self in out nocopy equal, a_expected number, a_nulls_are_equal boolean := null) return self as result,
57
constructor function equal(self in out nocopy equal, a_expected clob, a_nulls_are_equal boolean := null) return self as result,

source/expectations/ut_expectation.tpb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
create or replace type body ut_expectation as
2-
final member function build_assert_result( self in ut_expectation, a_assert_result boolean, a_actual ut_data_value) return ut_assert_result is
2+
member function build_assert_result( self in ut_expectation, a_assert_result boolean, a_actual ut_data_value) return ut_assert_result is
33
begin
44
ut_utils.debug_log('ut_expectation.build_assert_result :' || ut_utils.to_test_result(a_assert_result) || ':');
55
return

source/expectations/ut_expectation.tps

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ create or replace type ut_expectation as object(
77
not instantiable member function run_expectation(self in ut_expectation, a_actual ut_data_value_blob) return ut_assert_result,
88
not instantiable member function run_expectation(self in ut_expectation, a_actual ut_data_value_date) return ut_assert_result,
99
not instantiable member function run_expectation(self in ut_expectation, a_actual ut_data_value_timestamp) return ut_assert_result,
10-
final member function build_assert_result(self in ut_expectation, a_assert_result boolean, a_actual ut_data_value) return ut_assert_result
10+
member function build_assert_result(self in ut_expectation, a_assert_result boolean, a_actual ut_data_value) return ut_assert_result
1111
) not final not instantiable
1212
/

0 commit comments

Comments
 (0)