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

Skip to content

Commit aee90c2

Browse files
authored
Merge pull request #48 from jgebal/feature/more_asserts
Feature/more asserts
2 parents 8abd922 + 97cb870 commit aee90c2

34 files changed

Lines changed: 190 additions & 10 deletions

File tree

source/ut_assert.pkb

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ create or replace package body ut_assert is
5757
add_assert_result(ut_assert_result(ut_utils.tr_error, a_message));
5858
end;
5959

60+
6061
--assertions
6162
procedure are_equal(a_expected in number, a_actual in number) is
6263
begin
@@ -68,6 +69,36 @@ create or replace package body ut_assert is
6869
build_assert_result((a_expected = a_actual), a_expected, a_actual, a_msg);
6970
end;
7071

72+
procedure are_equal(a_expected in varchar2, a_actual in varchar2) is
73+
begin
74+
are_equal('Equality test', a_expected, a_actual);
75+
end;
76+
77+
procedure are_equal(a_msg in varchar2, a_expected in varchar2, a_actual in varchar2) is
78+
begin
79+
build_assert_result((a_expected = a_actual), a_expected, a_actual, a_msg);
80+
end;
81+
82+
procedure are_equal(a_expected in date, a_actual in date) is
83+
begin
84+
are_equal('Equality test', a_expected, a_actual);
85+
end;
86+
87+
procedure are_equal(a_msg in varchar2, a_expected in date, a_actual in date) is
88+
begin
89+
build_assert_result((a_expected = a_actual), a_expected, a_actual, a_msg);
90+
end;
91+
92+
procedure are_equal(a_expected in timestamp_unconstrained, a_actual in timestamp_unconstrained) is
93+
begin
94+
are_equal('Equality test', a_expected, a_actual);
95+
end;
96+
97+
procedure are_equal(a_msg in varchar2, a_expected in timestamp_unconstrained, a_actual in timestamp_unconstrained) is
98+
begin
99+
build_assert_result((a_expected = a_actual), a_expected, a_actual, a_msg);
100+
end;
101+
71102
procedure are_equal(a_expected in anydata, a_actual in anydata) is
72103
begin
73104
are_equal('Equality test', a_expected, a_actual);

source/ut_assert.pks

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,15 @@ create or replace package ut_assert authid current_user as
99
procedure are_equal(a_expected in number, a_actual in number);
1010
procedure are_equal(a_msg in varchar2, a_expected in number, a_actual in number);
1111

12+
procedure are_equal(a_expected in varchar2, a_actual in varchar2);
13+
procedure are_equal(a_msg in varchar2, a_expected in varchar2, a_actual in varchar2);
14+
15+
procedure are_equal(a_expected in date, a_actual in date);
16+
procedure are_equal(a_msg in varchar2, a_expected in date, a_actual in date);
17+
18+
procedure are_equal(a_expected in timestamp_unconstrained, a_actual in timestamp_unconstrained);
19+
procedure are_equal(a_msg in varchar2, a_expected in timestamp_unconstrained, a_actual in timestamp_unconstrained);
20+
1221
procedure are_equal(a_expected in anydata, a_actual in anydata);
1322
procedure are_equal(a_msg in varchar2, a_expected in anydata, a_actual in anydata);
1423

tests/RunAll.sql

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,41 @@ set serveroutput on size unlimited format truncated
3636
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.number.GivesFailureWhenActualIsNull.sql
3737
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.number.GivesFailureWhenBothAreNull.sql
3838
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.number.GivesFailureWhenExpectedIsNull.sql
39+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.number.with_text.GivesTheProvidedTextAsMessage.sql
3940

4041
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.anydata.GivesSuccessWhenComparingTheSameData.sql
4142
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.anydata.GivesFailureWhenComparingDifferentData.sql
4243
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.anydata.PutsObjectStrucureIntoMessage.sql
4344
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.cursor.GivesFailureWhenComparingDifferentResultSets.sql
4445
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.cursor.GivesSuccessWhenComparingIdenticalResultSets.sql
46+
47+
@@lib/RunTest.sql ut_assert/ut_assert.this.GivesFailureWhenExpressionEvaluatesToFalse.sql
48+
@@lib/RunTest.sql ut_assert/ut_assert.this.GivesFailureWhenExpressionEvaluatesToNull.sql
49+
@@lib/RunTest.sql ut_assert/ut_assert.this.GivesSuccessWhenExpressionEvaluatesToTrue.sql
50+
51+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesFailureForDifferentValues.sql
52+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesFailureWhenActualIsNull.sql
53+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesFailureWhenBothAreNull.sql
54+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesFailureWhenExpectedIsNull.sql
55+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForEqualValues.sql
56+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.with_text.GivesTheProvidedTextAsMessage.sql
57+
58+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.date.GivesFailureForDifferentValues.sql
59+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.date.GivesFailureWhenActualIsNull.sql
60+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.date.GivesFailureWhenBothAreNull.sql
61+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.date.GivesFailureWhenExpectedIsNull.sql
62+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.date.GivesSuccessForEqualValues.sql
63+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.date.with_text.GivesTheProvidedTextAsMessage.sql
64+
65+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.timestamp.GivesFailureForDifferentValues.sql
66+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.timestamp.GivesFailureWhenActualIsNull.sql
67+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.timestamp.GivesFailureWhenBothAreNull.sql
68+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.timestamp.GivesFailureWhenExpectedIsNull.sql
69+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.timestamp.GivesSuccessForEqualValues.sql
70+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.timestamp.with_text.GivesTheProvidedTextAsMessage.sql
71+
72+
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.scalar.FailsToExecuteWhenNullsPassedAsParameters.sql
73+
4574
--Global cleanup
4675
drop package ut_example_tests;
4776

tests/ut_assert/ut_assert.are_equal.number.common renamed to tests/ut_assert/common/ut_assert.are_equal.scalar.common.sql

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
--Arrange
22
declare
3-
l_expected number := &&1;
4-
l_actual number := &&2;
3+
l_expected &&1 := &&2;
4+
l_actual &&1 := &&3;
55
l_result integer;
66
begin
77
--Act
88
ut_assert.are_equal(l_expected, l_actual);
99
l_result := ut_assert.get_aggregate_asserts_result();
1010
--Assert
11-
if l_result = &&3 then
11+
if l_result = &&4 then
1212
:test_result := ut_utils.tr_success;
1313
else
14-
dbms_output.put_line('expected: '''||&&3||''', got: '''||l_result||'''' );
14+
dbms_output.put_line('expected: '''||&&4||''', got: '''||l_result||'''' );
1515
end if;
1616
end;
1717
/
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
--Arrange
2+
declare
3+
l_expected &&1 := &&2;
4+
l_actual &&1 := &&3;
5+
l_results ut_objects_list;
6+
l_test_message varchar2(30) := 'A test message';
7+
begin
8+
--Act
9+
ut_assert.are_equal(l_test_message, l_expected, l_actual);
10+
l_results := ut_assert.get_asserts_results();
11+
--Assert
12+
if treat(l_results(1) as ut_assert_result).message like '%'||l_test_message||'%' then
13+
:test_result := ut_utils.tr_success;
14+
else
15+
dbms_output.put_line('expected: '''||treat(l_results(1) as ut_assert_result).message||''' to match ''%'||l_test_message||'%''' );
16+
end if;
17+
end;
18+
/
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
declare
2+
l_result integer;
3+
begin
4+
--Act
5+
ut_assert.this( &1 );
6+
l_result := ut_assert.get_aggregate_asserts_result();
7+
--Assert
8+
if l_result = &&2 then
9+
:test_result := ut_utils.tr_success;
10+
else
11+
dbms_output.put_line('expected: '''||&&2||''', got: '''||l_result||'''' );
12+
end if;
13+
end;
14+
/
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
PROMPT Gives a failure when comparing different date datatypes
2+
3+
@@ut_assert/common/ut_assert.are_equal.scalar.common.sql 'date' 'sysdate' 'sysdate+1' 'ut_utils.tr_failure'
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
PROMPT Gives a failure when expected is non null date and actual is null
2+
3+
@@ut_assert/common/ut_assert.are_equal.scalar.common.sql 'date' 'null' 'sysdate' 'ut_utils.tr_failure'
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
PROMPT Gives a failure when comparing date null to null
2+
3+
@@ut_assert/common/ut_assert.are_equal.scalar.common.sql 'date' 'null' 'null' 'ut_utils.tr_failure'
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
PROMPT Gives a failure when expected is non null date and actual is null
2+
3+
@@ut_assert/common/ut_assert.are_equal.scalar.common.sql 'date' 'sysdate' 'null' 'ut_utils.tr_failure'

0 commit comments

Comments
 (0)