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

Skip to content

Commit 49c9c32

Browse files
committed
Changes according to @jgebal comments
Added tests for regexp_like added failure tests
1 parent 6f93e77 commit 49c9c32

10 files changed

Lines changed: 119 additions & 21 deletions

source/ut_assert.pkb

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -147,34 +147,34 @@ create or replace package body ut_assert is
147147
end;
148148

149149
-- Strings assertions
150-
procedure str_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar, a_escape_char in varchar2) is
150+
procedure is_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar, a_escape_char in varchar2) is
151151
l_condition boolean;
152152
begin
153153
if a_escape_char is not null then
154154
l_condition := a_checking_string like a_mask escape a_escape_char;
155155
else
156156
l_condition := a_checking_string like a_mask;
157157
end if;
158-
build_assert_result(l_condition, 'str_like', 'varchar2', 'varchar2', ut_utils.to_string('like ' || a_mask), ut_utils.to_string(l_condition), a_msg);
158+
build_assert_result(l_condition, 'is_like', 'varchar2', 'varchar2', ut_utils.to_string('like ' || a_mask), ut_utils.to_string(l_condition), a_msg);
159159
end;
160-
procedure str_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar) is
160+
procedure is_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar) is
161161
begin
162-
str_like(a_msg, a_checking_string, a_mask, null);
162+
is_like(a_msg, a_checking_string, a_mask, null);
163163
end;
164-
procedure str_like(a_checking_string in varchar2, a_mask in varchar2) is
164+
procedure is_like(a_checking_string in varchar2, a_mask in varchar2) is
165165
begin
166-
str_like(a_msg => null, a_checking_string => a_checking_string, a_mask => a_mask);
166+
is_like(a_msg => null, a_checking_string => a_checking_string, a_mask => a_mask);
167167
end;
168168

169-
procedure regexp_like(a_msg in varchar2, a_srcstr in varchar2, a_pattern in varchar2, a_modifier in varchar2 default null) is
170-
l_condition boolean := sys.standard.regexp_like(a_srcstr, a_pattern, a_pattern);
169+
procedure is_matching(a_msg in varchar2, a_checking_string in varchar2, a_pattern in varchar2, a_modifier in varchar2 default null) is
170+
l_condition boolean := sys.standard.regexp_like(a_checking_string, a_pattern, a_modifier);
171171
begin
172-
build_assert_result(l_condition, 'regexp_like', 'varchar2', 'varchar2', ut_utils.to_string('pattern ' || a_pattern), ut_utils.to_string(l_condition), a_msg);
172+
build_assert_result(l_condition, 'is_matching', 'varchar2', 'varchar2', ut_utils.to_string('pattern ' || a_pattern), ut_utils.to_string(l_condition), a_msg);
173173
end;
174174

175-
procedure regexp_like(a_srcstr in varchar2, a_pattern in varchar2, a_modifier in varchar2 default null) is
175+
procedure is_matching(a_checking_string in varchar2, a_pattern in varchar2, a_modifier in varchar2 default null) is
176176
begin
177-
regexp_like(null, a_srcstr, a_pattern, a_modifier);
177+
is_matching(null, a_checking_string, a_pattern, a_modifier);
178178
end;
179179

180180
procedure is_null(a_actual in number) is

source/ut_assert.pks

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ create or replace package ut_assert authid current_user as
2828
procedure are_equal(a_msg in varchar2, a_expected in sys_refcursor, a_actual in sys_refcursor);
2929
procedure are_equal(a_expected in sys_refcursor, a_actual in sys_refcursor);
3030

31-
-- Strings assertions
32-
procedure str_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar, a_escape_char in varchar2);
33-
procedure str_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar);
34-
procedure str_like(a_checking_string in varchar2, a_mask in varchar2);
31+
-- Pattern matching assertions
32+
procedure is_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar, a_escape_char in varchar2);
33+
procedure is_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar);
34+
procedure is_like(a_checking_string in varchar2, a_mask in varchar2);
3535

36-
procedure regexp_like(a_msg in varchar2, a_srcstr in varchar2,a_pattern in varchar2, a_modifier in varchar2 default null);
37-
procedure regexp_like(a_srcstr in varchar2,a_pattern in varchar2, a_modifier in varchar2 default null);
36+
procedure is_matching(a_msg in varchar2, a_checking_string in varchar2,a_pattern in varchar2, a_modifier in varchar2 default null);
37+
procedure is_matching(a_checking_string in varchar2,a_pattern in varchar2, a_modifier in varchar2 default null);
3838

3939
procedure is_null(a_actual in number);
4040
procedure is_null(a_msg in varchar2, a_actual in number);

tests/RunAll.sql

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,6 @@ set serveroutput on size unlimited format truncated
5353
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesFailureWhenBothAreNull.sql
5454
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesFailureWhenExpectedIsNull.sql
5555
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForEqualValues.sql
56-
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeString.sql
57-
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeStringWithEscape.sql
5856
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.with_text.GivesTheProvidedTextAsMessage.sql
5957

6058
@@lib/RunTest.sql ut_assert/ut_assert.are_equal.date.GivesFailureForDifferentValues.sql
@@ -82,6 +80,14 @@ set serveroutput on size unlimited format truncated
8280
@@lib/RunTest.sql ut_assert/ut_assert.is_null.date.GivesFailureForNotNullValue.sql
8381
@@lib/RunTest.sql ut_assert/ut_assert.is_null.date.GivesSuccessForNullValue.sql
8482

83+
@@lib/RunTest.sql ut_assert/ut_assert.is_like.GivesSuccessForLikeString.sql
84+
@@lib/RunTest.sql ut_assert/ut_assert.is_like.GivesSuccessForLikeStringWithEscape.sql
85+
@@lib/RunTest.sql ut_assert/ut_assert.is_like.GivesFailureForLikeString.sql
86+
@@lib/RunTest.sql ut_assert/ut_assert.is_like.GivesFailureForLikeStringWithEscape.sql
87+
@@lib/RunTest.sql ut_assert/ut_assert.is_matching.GivesSuccessForMatchingString.sql
88+
@@lib/RunTest.sql ut_assert/ut_assert.is_matching.GivesSuccessForMatchingStringWithModifier.sql
89+
@@lib/RunTest.sql ut_assert/ut_assert.is_matching.GivesFailureForMatchingString.sql
90+
8591
@@lib/RunTest.sql ut_utils/ut_utils.to_string.verySmallNumber.sql
8692
@@lib/RunTest.sql ut_utils/ut_utils.to_string.veryBigNumber.sql
8793
@@lib/RunTest.sql ut_utils/ut_utils.to_string.Date.sql
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
--Arrange
2+
declare
3+
l_mask varchar2(10) := 'a%b';
4+
l_string varchar2(50) := 'asdfsdfsdfc';
5+
l_result integer;
6+
begin
7+
--Act
8+
ut_assert.is_like(l_string, l_mask);
9+
l_result := ut_assert.get_aggregate_asserts_result();
10+
--Assert
11+
if l_result = ut_utils.tr_failure then
12+
:test_result := ut_utils.tr_success;
13+
else
14+
dbms_output.put_line('expected: string like'''||l_mask||''', got: '''||l_result||'''' );
15+
end if;
16+
end;
17+
/
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
--Arrange
2+
declare
3+
l_mask varchar2(10) := 'a%\_b';
4+
l_string varchar2(50) := 'asdfsdfsdf_b';
5+
l_result integer;
6+
begin
7+
--Act
8+
ut_assert.is_like('', l_string, l_mask, '/');
9+
l_result := ut_assert.get_aggregate_asserts_result();
10+
--Assert
11+
if l_result = ut_utils.tr_failure then
12+
:test_result := ut_utils.tr_success;
13+
else
14+
dbms_output.put_line('expected: string like'''||l_mask||''' with escape ''/'', got: '''||l_result||'''' );
15+
end if;
16+
end;
17+
/

tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeString.sql renamed to tests/ut_assert/ut_assert.is_like.GivesSuccessForLikeString.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ declare
55
l_result integer;
66
begin
77
--Act
8-
ut_assert.str_like(l_string, l_mask);
8+
ut_assert.is_like(l_string, l_mask);
99
l_result := ut_assert.get_aggregate_asserts_result();
1010
--Assert
1111
if l_result = ut_utils.tr_success then

tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeStringWithEscape.sql renamed to tests/ut_assert/ut_assert.is_like.GivesSuccessForLikeStringWithEscape.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ declare
55
l_result integer;
66
begin
77
--Act
8-
ut_assert.str_like('', l_string, l_mask, '/');
8+
ut_assert.is_like('', l_string, l_mask, '/');
99
l_result := ut_assert.get_aggregate_asserts_result();
1010
--Assert
1111
if l_result = ut_utils.tr_success then
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
PL/SQL Developer Test script 3.0
2+
17
3+
--Arrange
4+
declare
5+
l_mask varchar2(20) := '[a-z]+\d[a-z]+';
6+
l_string varchar2(50) := 'asd123asd';
7+
l_result integer;
8+
begin
9+
--Act
10+
ut_assert.is_matching(l_string, l_mask);
11+
l_result := ut_assert.get_aggregate_asserts_result();
12+
--Assert
13+
if l_result = ut_utils.tr_failure then
14+
:test_result := ut_utils.tr_success;
15+
else
16+
dbms_output.put_line('expected: string like'''||l_mask||''', got: '''||l_result||'''' );
17+
end if;
18+
end;
19+
--/
20+
1
21+
test_result
22+
0
23+
5
24+
0
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
--Arrange
2+
declare
3+
l_mask varchar2(20) := '[a-z]+\d+[a-z]+';
4+
l_string varchar2(50) := 'asd123asd';
5+
l_result integer;
6+
begin
7+
--Act
8+
ut_assert.is_matching(l_string, l_mask);
9+
l_result := ut_assert.get_aggregate_asserts_result();
10+
--Assert
11+
if l_result = ut_utils.tr_success then
12+
:test_result := ut_utils.tr_success;
13+
else
14+
dbms_output.put_line('expected: string like'''||l_mask||''', got: '''||l_result||'''' );
15+
end if;
16+
end;
17+
/
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
--Arrange
2+
declare
3+
l_mask varchar2(20) := '[a-z]+\d+[a-z]+';
4+
l_string varchar2(50) := 'asd123asd';
5+
l_result integer;
6+
begin
7+
--Act
8+
ut_assert.is_matching(l_string, l_mask);
9+
l_result := ut_assert.get_aggregate_asserts_result();
10+
--Assert
11+
if l_result = ut_utils.tr_success then
12+
:test_result := ut_utils.tr_success;
13+
else
14+
dbms_output.put_line('expected: string like'''||l_mask||''', got: '''||l_result||'''' );
15+
end if;
16+
end;
17+
/

0 commit comments

Comments
 (0)