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

Skip to content

Commit bffcbab

Browse files
committed
Improved reporting on assertions.
If message is null and assert is success - no report on assert. Changed format for assert reporting, so that the unary operators are more readable in reports.
1 parent ec88261 commit bffcbab

6 files changed

Lines changed: 37 additions & 29 deletions

File tree

source/assertions/ut_assertion.tpb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ create or replace type body ut_assertion as
77
ut_assert_processor.add_assert_result(
88
ut_assert_result(
99
a_assert_name, ut_utils.to_test_result(a_assert_result),
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+
a_expected_data_type, self.actual_data.type, a_expected_value_string, self.actual_data.to_string(), self.message
1111
)
1212
);
1313
end;

source/expectation_data_values/ut_data_value_refcursor.tpb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,11 @@ create or replace type body ut_data_value_refcursor as
2929
l_result clob;
3030
begin
3131
if self.value is not null then
32+
--TODO - set formatting of date/timestamp/number for XML
3233
dbms_xmlgen.setMaxRows(self.value, 100);
3334
l_result := dbms_xmlgen.getxml(self.value);
3435
dbms_xmlgen.restartQuery(self.value);
36+
--TODO - clear formatting of date/timestamp/number for XML
3537
end if;
3638
return ut_utils.to_string(l_result);
3739
end;

source/expectations/be_false.tpb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ create or replace type body be_false as
33
constructor function be_false(self in out nocopy be_false) return self as result is
44
begin
55
self.name := lower($$plsql_unit);
6-
self.expected := ut_data_value_boolean(false);
76
return;
87
end;
98

source/expectations/be_true.tpb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ create or replace type body be_true as
33
constructor function be_true(self in out nocopy be_true) return self as result is
44
begin
55
self.name := lower($$plsql_unit);
6-
self.expected := ut_data_value_boolean(true);
76
return;
87
end;
98

source/expectations/equal.tpb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,9 @@ create or replace type body equal as
133133
--fetch 1M rows max
134134
dbms_xmlgen.setMaxRows(l_expected.value, 1000000);
135135
dbms_xmlgen.setMaxRows(l_actual.value, 1000000);
136+
--TODO - set formatting of date/timestamp/number for XML
136137
l_result := dbms_lob.compare( dbms_xmlgen.getxml(l_expected.value), dbms_xmlgen.getxml(l_actual.value) ) = 0;
138+
--TODO - clear formatting of date/timestamp/number for XML
137139
else
138140
l_result := equal_with_nulls( null, a_actual);
139141
end if;

source/types/ut_dbms_output_suite_reporter.tpb

Lines changed: 32 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,54 +22,60 @@ create or replace type body ut_dbms_output_suite_reporter is
2222
print('suite "' || a_suite.name || '" started.');
2323
end;
2424

25-
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);
25+
overriding member procedure before_test(self in out nocopy ut_dbms_output_suite_reporter, a_test ut_object) as
26+
test ut_test := treat(a_test as ut_test);
2827
begin
29-
--todo: report total suite result here with pretty message
3028
print(ut_dbms_output_suite_reporter.c_dashed_line);
31-
print('suite "' || l_suite.name || '" ended. Took: '||to_char(l_duration));
32-
print(ut_dbms_output_suite_reporter.c_dashed_line);
33-
end;
34-
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');
29+
if a_test.name is not null then
30+
print('test ' || test.name || ' (' || test.test.form_name || ')');
31+
else
32+
print('test ' || test.test.form_name);
33+
end if;
3834
end;
3935

4036
overriding member procedure on_assert_process(self in out nocopy ut_dbms_output_suite_reporter, a_assert ut_object) as
4137
l_assert ut_assert_result := treat(a_assert as ut_assert_result);
4238
begin
4339
if l_assert is not null then
44-
print(l_assert.result_to_char());
4540
if l_assert.message is not null then
4641
print('message: '||l_assert.message);
4742
end if;
4843
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);
44+
print('expected: ' || l_assert.actual_value_string||'('||l_assert.actual_type||')');
45+
print(
46+
l_assert.name
47+
|| case
48+
when l_assert.expected_value_string is not null or l_assert.expected_type is not null
49+
then ': '||l_assert.expected_value_string||'('||l_assert.expected_type||')'
50+
end
51+
);
52+
print(l_assert.result_to_char());
5253
end if;
5354
end if;
5455
end;
5556

56-
overriding member procedure before_test(self in out nocopy ut_dbms_output_suite_reporter, a_test ut_object) as
57-
test ut_test := treat(a_test as ut_test);
58-
begin
59-
print(ut_dbms_output_suite_reporter.c_dashed_line);
60-
if a_test.name is not null then
61-
print('test ' || test.name || ' (' || test.test.form_name || ')');
62-
else
63-
print('test ' || test.test.form_name);
64-
end if;
65-
end;
66-
6757
overriding member procedure after_test(self in out nocopy ut_dbms_output_suite_reporter, a_test ut_object) as
6858
l_test ut_test_object := treat(a_test as ut_test);
6959
l_duration interval day(0) to second(6) := (l_test.end_time - l_test.start_time);
7060
begin
7161
print('result: ' || l_test.result_to_char||'. Took: '||to_char(l_duration));
7262
end;
7363

64+
overriding member procedure after_suite(self in out nocopy ut_dbms_output_suite_reporter, a_suite ut_object) as
65+
l_suite ut_test_object := treat(a_suite as ut_test_object);
66+
l_duration interval day(0) to second(6) := (l_suite.end_time - l_suite.start_time);
67+
begin
68+
--todo: report total suite result here with pretty message
69+
print(ut_dbms_output_suite_reporter.c_dashed_line);
70+
print('suite "' || l_suite.name || '" ended. Took: '||to_char(l_duration));
71+
print(ut_dbms_output_suite_reporter.c_dashed_line);
72+
end;
73+
74+
overriding member procedure before_asserts_process(self in out nocopy ut_dbms_output_suite_reporter, a_test in ut_object) as
75+
begin
76+
null;
77+
end;
78+
79+
7480
end;
7581
/

0 commit comments

Comments
 (0)