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

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions source/types/ut_composite_object.tpb
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
create or replace type body ut_composite_object is
member procedure calc_execution_result(self in out nocopy ut_composite_object) is
v_result integer(1) := ut_utils.tr_success;
l_result integer(1) := ut_utils.tr_success;
begin
for i in 1 .. self.items.count loop
v_result := greatest(self.items(i).result, v_result);
exit when v_result = ut_utils.tr_error;
l_result := greatest(self.items(i).result, l_result);
exit when l_result = ut_utils.tr_error;
end loop;
self.result := v_result;
self.result := l_result;
end;

end;
Expand Down
10 changes: 5 additions & 5 deletions source/types/ut_composite_reporter.tpb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
create or replace type body ut_composite_reporter is

constructor function ut_composite_reporter(the_reporters ut_reporters_list default ut_reporters_list())
constructor function ut_composite_reporter(a_reporters ut_reporters_list default ut_reporters_list())
return self as result is
begin
self.name := $$plsql_unit;
Expand All @@ -12,9 +12,9 @@ create or replace type body ut_composite_reporter is
self.reporters.extend(1);
self.reporters(self.reporters.last) := a_reporter;
end;
member procedure remove_reporter(self in out nocopy ut_composite_reporter, an_index pls_integer) is
member procedure remove_reporter(self in out nocopy ut_composite_reporter, a_index pls_integer) is
begin
for i in an_index + 1 .. self.reporters.last loop
for i in a_index + 1 .. self.reporters.last loop
self.reporters(i - 1) := self.reporters(i);
end loop;

Expand All @@ -34,10 +34,10 @@ create or replace type body ut_composite_reporter is
self.reporters(i).begin_test(a_test => a_test);
end loop;
end;
overriding member procedure on_assert(self in out nocopy ut_composite_reporter, an_assert ut_object) is
overriding member procedure on_assert(self in out nocopy ut_composite_reporter, a_assert ut_object) is
begin
for i in 1 .. self.reporters.count loop
self.reporters(i).on_assert(an_assert => an_assert);
self.reporters(i).on_assert(a_assert => a_assert);
end loop;
end;
overriding member procedure end_test(self in out nocopy ut_composite_reporter, a_test ut_object) is
Expand Down
6 changes: 3 additions & 3 deletions source/types/ut_composite_reporter.tps
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ create or replace type ut_composite_reporter under ut_suite_reporter
(
reporters ut_reporters_list,

constructor function ut_composite_reporter(the_reporters ut_reporters_list default ut_reporters_list())
constructor function ut_composite_reporter(a_reporters ut_reporters_list default ut_reporters_list())
return self as result,
member procedure add_reporter(self in out nocopy ut_composite_reporter, a_reporter ut_suite_reporter),
member procedure remove_reporter(self in out nocopy ut_composite_reporter, an_index pls_integer),
member procedure remove_reporter(self in out nocopy ut_composite_reporter, a_index pls_integer),

overriding member procedure begin_suite(self in out nocopy ut_composite_reporter, a_suite in ut_object),
overriding member procedure begin_test(self in out nocopy ut_composite_reporter, a_test ut_object),
overriding member procedure on_assert(self in out nocopy ut_composite_reporter, an_assert ut_object),
overriding member procedure on_assert(self in out nocopy ut_composite_reporter, a_assert ut_object),
overriding member procedure end_test(self in out nocopy ut_composite_reporter, a_test ut_object),
overriding member procedure end_suite(self in out nocopy ut_composite_reporter, a_suite ut_object)

Expand Down
2 changes: 1 addition & 1 deletion source/types/ut_dbms_output_suite_reporter.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ create or replace type body ut_dbms_output_suite_reporter is
print(ut_dbms_output_suite_reporter.c_dashed_line);
end;

overriding member procedure on_assert(self in out nocopy ut_dbms_output_suite_reporter, an_assert ut_object) as
overriding member procedure on_assert(self in out nocopy ut_dbms_output_suite_reporter, a_assert ut_object) as
begin
--todo: report total suite result here with pretty message
null;
Expand Down
2 changes: 1 addition & 1 deletion source/types/ut_dbms_output_suite_reporter.tps
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ create or replace type ut_dbms_output_suite_reporter force under ut_suite_report

overriding member procedure begin_suite(self in out nocopy ut_dbms_output_suite_reporter, a_suite ut_object),
overriding member procedure begin_test(self in out nocopy ut_dbms_output_suite_reporter, a_test ut_object),
overriding member procedure on_assert(self in out nocopy ut_dbms_output_suite_reporter, an_assert ut_object),
overriding member procedure on_assert(self in out nocopy ut_dbms_output_suite_reporter, a_assert ut_object),
overriding member procedure end_test(self in out nocopy ut_dbms_output_suite_reporter, a_test ut_object),
overriding member procedure end_suite(self in out nocopy ut_dbms_output_suite_reporter, a_suite ut_object)

Expand Down
2 changes: 1 addition & 1 deletion source/types/ut_executable.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ create or replace type body ut_executable is

begin

ut_metadata.do_resolve(the_owner => owner, the_object => object_name, a_procedure_name => procedure_name);
ut_metadata.do_resolve(a_owner => owner, a_object => object_name, a_procedure_name => procedure_name);

stmt := 'begin ' || ut_metadata.form_name(owner, object_name, procedure_name) || '; end;';

Expand Down
2 changes: 1 addition & 1 deletion source/types/ut_suite_reporter.tps
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ create or replace type ut_suite_reporter force as object

not instantiable member procedure begin_suite(self in out nocopy ut_suite_reporter, a_suite in ut_object),
not instantiable member procedure begin_test(self in out nocopy ut_suite_reporter, a_test in ut_object),
not instantiable member procedure on_assert(self in out nocopy ut_suite_reporter, an_assert in ut_object),
not instantiable member procedure on_assert(self in out nocopy ut_suite_reporter, a_assert in ut_object),
not instantiable member procedure end_test(self in out nocopy ut_suite_reporter, a_test in ut_object),
not instantiable member procedure end_suite(self in out nocopy ut_suite_reporter, a_suite in ut_object)

Expand Down
27 changes: 12 additions & 15 deletions source/types/ut_test.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -24,24 +24,21 @@ create or replace type body ut_test is
end ut_test;

member function is_valid(self in ut_test) return boolean is
v_is_valid boolean;
begin
v_is_valid := test.is_valid('test') and (setup is null or setup.is_valid('setup')) and
return test.is_valid('test') and (setup is null or setup.is_valid('setup')) and
(teardown is null or teardown.is_valid('teardown'));

return v_is_valid;
end is_valid;

overriding member procedure execute(self in out nocopy ut_test, a_reporter ut_suite_reporter) is
reporter ut_suite_reporter := a_reporter;
l_reporter ut_suite_reporter := a_reporter;
begin
reporter := execute(reporter);
l_reporter := execute(l_reporter);
end;
overriding member function execute(self in out nocopy ut_test, a_reporter ut_suite_reporter) return ut_suite_reporter is
reporter ut_suite_reporter := a_reporter;
l_reporter ut_suite_reporter := a_reporter;
begin
if reporter is not null then
reporter.begin_test(self);
if l_reporter is not null then
l_reporter.begin_test(self);
end if;

begin
Expand Down Expand Up @@ -98,20 +95,20 @@ create or replace type body ut_test is

self.calc_execution_result;

if reporter is not null then
if l_reporter is not null then
for i in 1 .. self.items.count loop
reporter.on_assert(treat(self.items(i) as ut_assert_result));
l_reporter.on_assert(treat(self.items(i) as ut_assert_result));
end loop;
reporter.end_test(self);
l_reporter.end_test(self);
end if;

return reporter;
return l_reporter;
end;

overriding member procedure execute(self in out nocopy ut_test) is
v_null_reporter ut_suite_reporter;
l_null_reporter ut_suite_reporter;
begin
self.execute(v_null_reporter);
self.execute(l_null_reporter);
end execute;

end;
Expand Down
28 changes: 14 additions & 14 deletions source/types/ut_test_suite.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,17 @@ create or replace type body ut_test_suite is
end add_item;

overriding member procedure execute(self in out nocopy ut_test_suite, a_reporter ut_suite_reporter) is
reporter ut_suite_reporter := a_reporter;
l_reporter ut_suite_reporter := a_reporter;
begin
reporter := execute(reporter);
l_reporter := execute(l_reporter);
end;

overriding member function execute(self in out nocopy ut_test_suite, a_reporter ut_suite_reporter) return ut_suite_reporter is
reporter ut_suite_reporter := a_reporter;
test_object ut_test_object;
l_reporter ut_suite_reporter := a_reporter;
l_test_object ut_test_object;
begin
if reporter is not null then
reporter.begin_suite(self);
if l_reporter is not null then
l_reporter.begin_suite(self);
end if;

$if $$ut_trace $then
Expand All @@ -36,25 +36,25 @@ create or replace type body ut_test_suite is
self.start_time := current_timestamp;

for i in self.items.first .. self.items.last loop
test_object := treat(self.items(i) as ut_test_object);
reporter := test_object.execute(a_reporter => reporter);
self.items(i) := test_object;
l_test_object := treat(self.items(i) as ut_test_object);
l_reporter := l_test_object.execute(a_reporter => l_reporter);
self.items(i) := l_test_object;
end loop;

self.end_time := current_timestamp;

self.calc_execution_result;

if reporter is not null then
reporter.end_suite(self);
if l_reporter is not null then
l_reporter.end_suite(self);
end if;
return reporter;
return l_reporter;
end;

overriding member procedure execute(self in out nocopy ut_test_suite) is
v_null_reporter ut_suite_reporter;
l_null_reporter ut_suite_reporter;
begin
self.execute(v_null_reporter);
self.execute(l_null_reporter);
end;

end;
Expand Down
70 changes: 35 additions & 35 deletions source/ut_assert.pkb
Original file line number Diff line number Diff line change
@@ -1,41 +1,41 @@
create or replace package body ut_assert is

current_asserts_called ut_objects_list := ut_objects_list();
g_current_asserts_called ut_objects_list := ut_objects_list();

function current_assert_test_result return integer is
begin
$if $$ut_trace $then
dbms_output.put_line('ut_assert.current_assert_test_result');
$end

return get_assert_list_final_result(current_asserts_called);
return get_assert_list_final_result(g_current_asserts_called);
end;

function get_assert_list_final_result(a_assert_list in ut_objects_list) return integer is
v_result integer;
assert ut_assert_result;
l_result integer;
l_assert ut_assert_result;
begin
$if $$ut_trace $then
dbms_output.put_line('ut_assert.get_assert_list_final_result');
$end

if a_assert_list is not null then

v_result := ut_utils.tr_success;
l_result := ut_utils.tr_success;
for i in a_assert_list.first .. a_assert_list.last loop
assert := treat(a_assert_list(i) as ut_assert_result);
if assert.result = ut_utils.tr_failure then
v_result := ut_utils.tr_failure;
l_assert := treat(a_assert_list(i) as ut_assert_result);
if l_assert.result = ut_utils.tr_failure then
l_result := ut_utils.tr_failure;
end if;

if assert.result = ut_utils.tr_error then
v_result := ut_utils.tr_error;
if l_assert.result = ut_utils.tr_error then
l_result := ut_utils.tr_error;
exit;
end if;
end loop;

end if;
return v_result;
return l_result;
end get_assert_list_final_result;

procedure clear_asserts is
Expand All @@ -44,23 +44,23 @@ create or replace package body ut_assert is
dbms_output.put_line('ut_assert.clear_asserts');
$end

current_asserts_called.delete;
g_current_asserts_called.delete;
end;

procedure process_asserts(newtable out ut_objects_list) is
procedure process_asserts(a_newtable out ut_objects_list) is
begin
$if $$ut_trace $then
dbms_output.put_line('ut_assert.copy_called_asserts');
$end

newtable := ut_objects_list(); -- make sure new table is empty
newtable.extend(current_asserts_called.last);
for i in current_asserts_called.first .. current_asserts_called.last loop
a_newtable := ut_objects_list(); -- make sure new table is empty
a_newtable.extend(g_current_asserts_called.last);
for i in g_current_asserts_called.first .. g_current_asserts_called.last loop
$if $$ut_trace $then
dbms_output.put_line(i || '-start');
$end

newtable(i) := current_asserts_called(i);
a_newtable(i) := g_current_asserts_called(i);

$if $$ut_trace $then
dbms_output.put_line(i || '-end');
Expand All @@ -70,45 +70,45 @@ create or replace package body ut_assert is
clear_asserts;
end process_asserts;

procedure report_assert(assert_result in integer, message in varchar2) is
v_result ut_assert_result;
procedure report_assert(a_assert_result in integer, a_message in varchar2) is
l_result ut_assert_result;
begin
$if $$ut_trace $then
dbms_output.put_line('ut_assert.report_assert :' || assert_result || ':' || message);
dbms_output.put_line('ut_assert.report_assert :' || a_assert_result || ':' || a_message);
$end
v_result := ut_assert_result(assert_result, message);
current_asserts_called.extend;
current_asserts_called(current_asserts_called.last) := v_result;
l_result := ut_assert_result(a_assert_result, a_message);
g_current_asserts_called.extend;
g_current_asserts_called(g_current_asserts_called.last) := l_result;
end;

procedure report_success(message in varchar2, expected in varchar2, actual in varchar2) is
procedure report_success(a_message in varchar2, a_expected in varchar2, a_actual in varchar2) is
begin
report_assert(ut_utils.tr_success
,nvl(message, '') || ' expected: ' || nvl(expected, '') || ' actual: ' || nvl(actual, ''));
,nvl(a_message, '') || ' expected: ' || nvl(a_expected, '') || ' actual: ' || nvl(a_actual, ''));
end;

procedure report_failure(message in varchar2, expected in varchar2, actual in varchar2) is
procedure report_failure(a_message in varchar2, a_expected in varchar2, a_actual in varchar2) is
begin
report_assert(ut_utils.tr_failure
,nvl(message, '') || ' expected: ' || nvl(expected, '') || ' actual: ' || nvl(actual, ''));
,nvl(a_message, '') || ' expected: ' || nvl(a_expected, '') || ' actual: ' || nvl(a_actual, ''));
end;

procedure report_error(message in varchar2) is
procedure report_error(a_message in varchar2) is
begin
report_assert(ut_utils.tr_error, message);
report_assert(ut_utils.tr_error, a_message);
end;

procedure are_equal(expected in number, actual in number) is
procedure are_equal(a_expected in number, a_actual in number) is
begin
are_equal('Equality test', expected, actual);
are_equal('Equality test', a_expected, a_actual);
end;

procedure are_equal(msg in varchar2, expected in number, actual in number) is
procedure are_equal(a_msg in varchar2, a_expected in number, a_actual in number) is
begin
if expected = actual then
report_success(msg, expected, actual);
if a_expected = a_actual then
report_success(a_msg, a_expected, a_actual);
else
report_failure(msg, expected, actual);
report_failure(a_msg, a_expected, a_actual);
end if;
end;

Expand Down
8 changes: 4 additions & 4 deletions source/ut_assert.pks
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ create or replace package ut_assert authid current_user as
function get_assert_list_final_result(a_assert_list in ut_objects_list) return integer;
function current_assert_test_result return integer;
procedure clear_asserts;
procedure report_error(message in varchar2);
procedure process_asserts(newtable out ut_objects_list);
procedure report_error(a_message in varchar2);
procedure process_asserts(a_newtable out ut_objects_list);

/* Just need something to play with for now */
procedure are_equal(expected in number, actual in number);
procedure are_equal(msg in varchar2, expected in number, actual in number);
procedure are_equal(a_expected in number, a_actual in number);
procedure are_equal(a_msg in varchar2, a_expected in number, a_actual in number);

end ut_assert;
/
Loading