From a80f6756e6c76fa1634e3708a15f95ba79c78ad1 Mon Sep 17 00:00:00 2001 From: Pazus Date: Sat, 1 Oct 2016 13:01:43 +0300 Subject: [PATCH 1/3] Fixed tests failing due to NLS setting --- ...qual.scalar.FailsToExecuteWhenNullsPassedAsParameters.sql | 2 +- ...rt.are_equal.timestamp.GivesFailureForDifferentValues.sql | 2 +- ...assert.are_equal.timestamp.GivesSuccessForEqualValues.sql | 2 +- tests/ut_utils/ut_utils.to_string.Timestamp.sql | 5 ++++- tests/ut_utils/ut_utils.to_string.verySmallNumber.sql | 5 +++++ 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/tests/ut_assert/ut_assert.are_equal.scalar.FailsToExecuteWhenNullsPassedAsParameters.sql b/tests/ut_assert/ut_assert.are_equal.scalar.FailsToExecuteWhenNullsPassedAsParameters.sql index a1aedce76..689fcf2f6 100644 --- a/tests/ut_assert/ut_assert.are_equal.scalar.FailsToExecuteWhenNullsPassedAsParameters.sql +++ b/tests/ut_assert/ut_assert.are_equal.scalar.FailsToExecuteWhenNullsPassedAsParameters.sql @@ -4,7 +4,7 @@ begin dbms_output.put_line('expected an exception but nothing was raised' ); exception when others then - if sqlerrm like '%PLS-00307: too many declarations of ''ARE_EQUAL'' match this call%' then + if sqlerrm like '%PLS-00307: % ''ARE_EQUAL'' %' then :test_result := ut_utils.tr_success; else dbms_output.put_line( sqlerrm ); diff --git a/tests/ut_assert/ut_assert.are_equal.timestamp.GivesFailureForDifferentValues.sql b/tests/ut_assert/ut_assert.are_equal.timestamp.GivesFailureForDifferentValues.sql index c9ad6a2c5..98af66bc6 100644 --- a/tests/ut_assert/ut_assert.are_equal.timestamp.GivesFailureForDifferentValues.sql +++ b/tests/ut_assert/ut_assert.are_equal.timestamp.GivesFailureForDifferentValues.sql @@ -1,3 +1,3 @@ PROMPT Gives a failure when comparing different timestamp datatypes -@@ut_assert/common/ut_assert.are_equal.scalar.common.sql 'timestamp(9)' 'to_Timestamp(''2016-09-06 22:36:11.123456789'',''yyyy-mm-dd hh24:mi:ss.xff'')' 'to_Timestamp(''2016-09-06 22:36:11.123456788'',''yyyy-mm-dd hh24:mi:ss.xff'')' 'ut_utils.tr_failure' +@@ut_assert/common/ut_assert.are_equal.scalar.common.sql 'timestamp(9)' 'to_Timestamp(''2016-09-06 22:36:11.123456789'',''yyyy-mm-dd hh24:mi:ss.ff'')' 'to_Timestamp(''2016-09-06 22:36:11.123456788'',''yyyy-mm-dd hh24:mi:ss.ff'')' 'ut_utils.tr_failure' diff --git a/tests/ut_assert/ut_assert.are_equal.timestamp.GivesSuccessForEqualValues.sql b/tests/ut_assert/ut_assert.are_equal.timestamp.GivesSuccessForEqualValues.sql index db1b8cf0b..db87a9a42 100644 --- a/tests/ut_assert/ut_assert.are_equal.timestamp.GivesSuccessForEqualValues.sql +++ b/tests/ut_assert/ut_assert.are_equal.timestamp.GivesSuccessForEqualValues.sql @@ -1,3 +1,3 @@ PROMPT Gives a success when comparing equal timestamp datatypes -@@ut_assert/common/ut_assert.are_equal.scalar.common.sql 'timestamp(9)' 'to_Timestamp(''2016-09-06 22:36:11.123456789'',''yyyy-mm-dd hh24:mi:ss.xff'')' 'to_Timestamp(''2016-09-06 22:36:11.123456789'',''yyyy-mm-dd hh24:mi:ss.xff'')' 'ut_utils.tr_success' +@@ut_assert/common/ut_assert.are_equal.scalar.common.sql 'timestamp(9)' 'to_Timestamp(''2016-09-06 22:36:11.123456789'',''yyyy-mm-dd hh24:mi:ss.ff'')' 'to_Timestamp(''2016-09-06 22:36:11.123456789'',''yyyy-mm-dd hh24:mi:ss.ff'')' 'ut_utils.tr_success' diff --git a/tests/ut_utils/ut_utils.to_string.Timestamp.sql b/tests/ut_utils/ut_utils.to_string.Timestamp.sql index 197b48d09..5629f74fc 100644 --- a/tests/ut_utils/ut_utils.to_string.Timestamp.sql +++ b/tests/ut_utils/ut_utils.to_string.Timestamp.sql @@ -3,9 +3,12 @@ PROMPT Returns a full string representation of a timestamp with maximum precissi --Arrange declare l_value timestamp(9) := to_timestamp('2016-12-31 23:59:59.123456789', 'yyyy-mm-dd hh24:mi:ss.ff'); - l_expected varchar2(100) := '2016-12-31 23:59:59.123456789'; + l_expected varchar2(100); l_result varchar2(100); + l_delimiter varchar2(1); begin + select substr(value, 1, 1) into l_delimiter from nls_session_parameters t where t.parameter = 'NLS_NUMERIC_CHARACTERS'; + l_expected := '2016-12-31 23:59:59'||l_delimiter||'123456789'; --Act l_result := ut_utils.to_String(l_value); --Assert diff --git a/tests/ut_utils/ut_utils.to_string.verySmallNumber.sql b/tests/ut_utils/ut_utils.to_string.verySmallNumber.sql index e1451013a..be50f5ce8 100644 --- a/tests/ut_utils/ut_utils.to_string.verySmallNumber.sql +++ b/tests/ut_utils/ut_utils.to_string.verySmallNumber.sql @@ -5,9 +5,14 @@ declare l_value number := 0.123456789012345678901234567890123456789; l_expected varchar2(100) := '.123456789012345678901234567890123456789'; l_result varchar2(100); + l_delimiter varchar2(1); begin --Act + select substr(value, 1, 1) into l_delimiter from nls_session_parameters t where t.parameter = 'NLS_NUMERIC_CHARACTERS'; + l_expected := l_delimiter||'123456789012345678901234567890123456789'; + l_result := ut_utils.to_String(l_value); + --Assert if l_result = l_expected then :test_result := ut_utils.tr_success; From 6f93e7774e9a2c0a8e5e227b19aef3fa08050112 Mon Sep 17 00:00:00 2001 From: Pazus Date: Sat, 1 Oct 2016 13:03:49 +0300 Subject: [PATCH 2/3] Added prompt to the first line of the installer so PL/SQL Developer treats the installer file as command window. Added two new assertions: str_like and regexp_like Reordered declaration of the assertion procedures to enforce users to use implementation with assert description provided Added tests for the new asserts --- source/install.sql | 3 +- source/ut_assert.pkb | 31 +++++++++++++++++++ source/ut_assert.pks | 27 ++++++++++------ tests/RunAll.sql | 2 ++ ...ual.varchar2.GivesSuccessForLikeString.sql | 17 ++++++++++ ...r2.GivesSuccessForLikeStringWithEscape.sql | 17 ++++++++++ 6 files changed, 87 insertions(+), 10 deletions(-) create mode 100644 tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeString.sql create mode 100644 tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeStringWithEscape.sql diff --git a/source/install.sql b/source/install.sql index 0c9fa72c1..4edbfda3f 100644 --- a/source/install.sql +++ b/source/install.sql @@ -1,7 +1,8 @@ +prompt Installing utplsql framework + whenever sqlerror exit failure rollback whenever oserror exit failure rollback -prompt Installing utplsql framework @@types/ut_object.tps @@types/ut_objects_list.tps @@types/ut_composite_object.tps diff --git a/source/ut_assert.pkb b/source/ut_assert.pkb index 8bc3386f0..5af040607 100644 --- a/source/ut_assert.pkb +++ b/source/ut_assert.pkb @@ -145,6 +145,37 @@ create or replace package body ut_assert is begin build_assert_result(a_condition, 'this', 'boolean', 'boolean', ut_utils.to_string(true), ut_utils.to_string(a_condition), ut_utils.to_string(a_msg)); end; + + -- Strings assertions + procedure str_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar, a_escape_char in varchar2) is + l_condition boolean; + begin + if a_escape_char is not null then + l_condition := a_checking_string like a_mask escape a_escape_char; + else + l_condition := a_checking_string like a_mask; + end if; + build_assert_result(l_condition, 'str_like', 'varchar2', 'varchar2', ut_utils.to_string('like ' || a_mask), ut_utils.to_string(l_condition), a_msg); + end; + procedure str_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar) is + begin + str_like(a_msg, a_checking_string, a_mask, null); + end; + procedure str_like(a_checking_string in varchar2, a_mask in varchar2) is + begin + str_like(a_msg => null, a_checking_string => a_checking_string, a_mask => a_mask); + end; + + procedure regexp_like(a_msg in varchar2, a_srcstr in varchar2, a_pattern in varchar2, a_modifier in varchar2 default null) is + l_condition boolean := sys.standard.regexp_like(a_srcstr, a_pattern, a_pattern); + begin + build_assert_result(l_condition, 'regexp_like', 'varchar2', 'varchar2', ut_utils.to_string('pattern ' || a_pattern), ut_utils.to_string(l_condition), a_msg); + end; + + procedure regexp_like(a_srcstr in varchar2, a_pattern in varchar2, a_modifier in varchar2 default null) is + begin + regexp_like(null, a_srcstr, a_pattern, a_modifier); + end; procedure is_null(a_actual in number) is begin diff --git a/source/ut_assert.pks b/source/ut_assert.pks index 9ab2cda18..7da068d46 100644 --- a/source/ut_assert.pks +++ b/source/ut_assert.pks @@ -5,27 +5,36 @@ create or replace package ut_assert authid current_user as procedure report_error(a_message in varchar2); function get_asserts_results return ut_objects_list; - /* Just need something to play with for now */ - procedure are_equal(a_expected in number, a_actual in number); + -- General assertion + procedure this(a_msg in varchar2, a_condition in boolean); + procedure this(a_condition in boolean); + + -- Equality assertions procedure are_equal(a_msg in varchar2, a_expected in number, a_actual in number); + procedure are_equal(a_expected in number, a_actual in number); - procedure are_equal(a_expected in varchar2, a_actual in varchar2); procedure are_equal(a_msg in varchar2, a_expected in varchar2, a_actual in varchar2); + procedure are_equal(a_expected in varchar2, a_actual in varchar2); - procedure are_equal(a_expected in date, a_actual in date); procedure are_equal(a_msg in varchar2, a_expected in date, a_actual in date); + procedure are_equal(a_expected in date, a_actual in date); - procedure are_equal(a_expected in timestamp_unconstrained, a_actual in timestamp_unconstrained); procedure are_equal(a_msg in varchar2, a_expected in timestamp_unconstrained, a_actual in timestamp_unconstrained); + procedure are_equal(a_expected in timestamp_unconstrained, a_actual in timestamp_unconstrained); - procedure are_equal(a_expected in anydata, a_actual in anydata); procedure are_equal(a_msg in varchar2, a_expected in anydata, a_actual in anydata); + procedure are_equal(a_expected in anydata, a_actual in anydata); - procedure are_equal(a_expected in sys_refcursor, a_actual in sys_refcursor); procedure are_equal(a_msg in varchar2, a_expected in sys_refcursor, a_actual in sys_refcursor); + procedure are_equal(a_expected in sys_refcursor, a_actual in sys_refcursor); - procedure this(a_condition in boolean); - procedure this(a_msg in varchar2, a_condition in boolean); + -- Strings assertions + procedure str_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar, a_escape_char in varchar2); + procedure str_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar); + procedure str_like(a_checking_string in varchar2, a_mask in varchar2); + + procedure regexp_like(a_msg in varchar2, a_srcstr in varchar2,a_pattern in varchar2, a_modifier in varchar2 default null); + procedure regexp_like(a_srcstr in varchar2,a_pattern in varchar2, a_modifier in varchar2 default null); procedure is_null(a_actual in number); procedure is_null(a_msg in varchar2, a_actual in number); diff --git a/tests/RunAll.sql b/tests/RunAll.sql index 12c6f53b0..c0f2c8879 100644 --- a/tests/RunAll.sql +++ b/tests/RunAll.sql @@ -53,6 +53,8 @@ set serveroutput on size unlimited format truncated @@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesFailureWhenBothAreNull.sql @@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesFailureWhenExpectedIsNull.sql @@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForEqualValues.sql +@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeString.sql +@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeStringWithEscape.sql @@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.with_text.GivesTheProvidedTextAsMessage.sql @@lib/RunTest.sql ut_assert/ut_assert.are_equal.date.GivesFailureForDifferentValues.sql diff --git a/tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeString.sql b/tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeString.sql new file mode 100644 index 000000000..fdbfa6f52 --- /dev/null +++ b/tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeString.sql @@ -0,0 +1,17 @@ +--Arrange +declare + l_mask varchar2(10) := 'a%b'; + l_string varchar2(50) := 'asdfsdfsdfb'; + l_result integer; +begin +--Act + ut_assert.str_like(l_string, l_mask); + l_result := ut_assert.get_aggregate_asserts_result(); +--Assert + if l_result = ut_utils.tr_success then + :test_result := ut_utils.tr_success; + else + dbms_output.put_line('expected: string like'''||l_mask||''', got: '''||l_result||'''' ); + end if; +end; +/ diff --git a/tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeStringWithEscape.sql b/tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeStringWithEscape.sql new file mode 100644 index 000000000..06bb6def4 --- /dev/null +++ b/tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeStringWithEscape.sql @@ -0,0 +1,17 @@ +--Arrange +declare + l_mask varchar2(10) := 'a%/_b'; + l_string varchar2(50) := 'asdfsdfsdf_b'; + l_result integer; +begin +--Act + ut_assert.str_like('', l_string, l_mask, '/'); + l_result := ut_assert.get_aggregate_asserts_result(); +--Assert + if l_result = ut_utils.tr_success then + :test_result := ut_utils.tr_success; + else + dbms_output.put_line('expected: string like'''||l_mask||''' with escape ''/'', got: '''||l_result||'''' ); + end if; +end; +/ From 49c9c321dd1ae1aebb79cb556e09c2d4359b8cb7 Mon Sep 17 00:00:00 2001 From: Pazus Date: Sat, 1 Oct 2016 15:34:33 +0300 Subject: [PATCH 3/3] Changes according to @jgebal comments Added tests for regexp_like added failure tests --- source/ut_assert.pkb | 22 ++++++++--------- source/ut_assert.pks | 12 +++++----- tests/RunAll.sql | 10 ++++++-- ...sert.is_like.GivesFailureForLikeString.sql | 17 +++++++++++++ ...ke.GivesFailureForLikeStringWithEscape.sql | 17 +++++++++++++ ...ert.is_like.GivesSuccessForLikeString.sql} | 2 +- ...e.GivesSuccessForLikeStringWithEscape.sql} | 2 +- ...matching.GivesFailureForMatchingString.sql | 24 +++++++++++++++++++ ...matching.GivesSuccessForMatchingString.sql | 17 +++++++++++++ ...esSuccessForMatchingStringWithModifier.sql | 17 +++++++++++++ 10 files changed, 119 insertions(+), 21 deletions(-) create mode 100644 tests/ut_assert/ut_assert.is_like.GivesFailureForLikeString.sql create mode 100644 tests/ut_assert/ut_assert.is_like.GivesFailureForLikeStringWithEscape.sql rename tests/ut_assert/{ut_assert.are_equal.varchar2.GivesSuccessForLikeString.sql => ut_assert.is_like.GivesSuccessForLikeString.sql} (90%) rename tests/ut_assert/{ut_assert.are_equal.varchar2.GivesSuccessForLikeStringWithEscape.sql => ut_assert.is_like.GivesSuccessForLikeStringWithEscape.sql} (89%) create mode 100644 tests/ut_assert/ut_assert.is_matching.GivesFailureForMatchingString.sql create mode 100644 tests/ut_assert/ut_assert.is_matching.GivesSuccessForMatchingString.sql create mode 100644 tests/ut_assert/ut_assert.is_matching.GivesSuccessForMatchingStringWithModifier.sql diff --git a/source/ut_assert.pkb b/source/ut_assert.pkb index 5af040607..eac367b37 100644 --- a/source/ut_assert.pkb +++ b/source/ut_assert.pkb @@ -147,7 +147,7 @@ create or replace package body ut_assert is end; -- Strings assertions - procedure str_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar, a_escape_char in varchar2) is + procedure is_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar, a_escape_char in varchar2) is l_condition boolean; begin if a_escape_char is not null then @@ -155,26 +155,26 @@ create or replace package body ut_assert is else l_condition := a_checking_string like a_mask; end if; - build_assert_result(l_condition, 'str_like', 'varchar2', 'varchar2', ut_utils.to_string('like ' || a_mask), ut_utils.to_string(l_condition), a_msg); + build_assert_result(l_condition, 'is_like', 'varchar2', 'varchar2', ut_utils.to_string('like ' || a_mask), ut_utils.to_string(l_condition), a_msg); end; - procedure str_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar) is + procedure is_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar) is begin - str_like(a_msg, a_checking_string, a_mask, null); + is_like(a_msg, a_checking_string, a_mask, null); end; - procedure str_like(a_checking_string in varchar2, a_mask in varchar2) is + procedure is_like(a_checking_string in varchar2, a_mask in varchar2) is begin - str_like(a_msg => null, a_checking_string => a_checking_string, a_mask => a_mask); + is_like(a_msg => null, a_checking_string => a_checking_string, a_mask => a_mask); end; - procedure regexp_like(a_msg in varchar2, a_srcstr in varchar2, a_pattern in varchar2, a_modifier in varchar2 default null) is - l_condition boolean := sys.standard.regexp_like(a_srcstr, a_pattern, a_pattern); + procedure is_matching(a_msg in varchar2, a_checking_string in varchar2, a_pattern in varchar2, a_modifier in varchar2 default null) is + l_condition boolean := sys.standard.regexp_like(a_checking_string, a_pattern, a_modifier); begin - build_assert_result(l_condition, 'regexp_like', 'varchar2', 'varchar2', ut_utils.to_string('pattern ' || a_pattern), ut_utils.to_string(l_condition), a_msg); + build_assert_result(l_condition, 'is_matching', 'varchar2', 'varchar2', ut_utils.to_string('pattern ' || a_pattern), ut_utils.to_string(l_condition), a_msg); end; - procedure regexp_like(a_srcstr in varchar2, a_pattern in varchar2, a_modifier in varchar2 default null) is + procedure is_matching(a_checking_string in varchar2, a_pattern in varchar2, a_modifier in varchar2 default null) is begin - regexp_like(null, a_srcstr, a_pattern, a_modifier); + is_matching(null, a_checking_string, a_pattern, a_modifier); end; procedure is_null(a_actual in number) is diff --git a/source/ut_assert.pks b/source/ut_assert.pks index 7da068d46..e6a50ecb5 100644 --- a/source/ut_assert.pks +++ b/source/ut_assert.pks @@ -28,13 +28,13 @@ create or replace package ut_assert authid current_user as procedure are_equal(a_msg in varchar2, a_expected in sys_refcursor, a_actual in sys_refcursor); procedure are_equal(a_expected in sys_refcursor, a_actual in sys_refcursor); - -- Strings assertions - procedure str_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar, a_escape_char in varchar2); - procedure str_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar); - procedure str_like(a_checking_string in varchar2, a_mask in varchar2); + -- Pattern matching assertions + procedure is_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar, a_escape_char in varchar2); + procedure is_like(a_msg in varchar2, a_checking_string in varchar2, a_mask in varchar); + procedure is_like(a_checking_string in varchar2, a_mask in varchar2); - procedure regexp_like(a_msg in varchar2, a_srcstr in varchar2,a_pattern in varchar2, a_modifier in varchar2 default null); - procedure regexp_like(a_srcstr in varchar2,a_pattern in varchar2, a_modifier in varchar2 default null); + procedure is_matching(a_msg in varchar2, a_checking_string in varchar2,a_pattern in varchar2, a_modifier in varchar2 default null); + procedure is_matching(a_checking_string in varchar2,a_pattern in varchar2, a_modifier in varchar2 default null); procedure is_null(a_actual in number); procedure is_null(a_msg in varchar2, a_actual in number); diff --git a/tests/RunAll.sql b/tests/RunAll.sql index c0f2c8879..135f30e04 100644 --- a/tests/RunAll.sql +++ b/tests/RunAll.sql @@ -53,8 +53,6 @@ set serveroutput on size unlimited format truncated @@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesFailureWhenBothAreNull.sql @@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesFailureWhenExpectedIsNull.sql @@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForEqualValues.sql -@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeString.sql -@@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeStringWithEscape.sql @@lib/RunTest.sql ut_assert/ut_assert.are_equal.varchar2.with_text.GivesTheProvidedTextAsMessage.sql @@lib/RunTest.sql ut_assert/ut_assert.are_equal.date.GivesFailureForDifferentValues.sql @@ -82,6 +80,14 @@ set serveroutput on size unlimited format truncated @@lib/RunTest.sql ut_assert/ut_assert.is_null.date.GivesFailureForNotNullValue.sql @@lib/RunTest.sql ut_assert/ut_assert.is_null.date.GivesSuccessForNullValue.sql +@@lib/RunTest.sql ut_assert/ut_assert.is_like.GivesSuccessForLikeString.sql +@@lib/RunTest.sql ut_assert/ut_assert.is_like.GivesSuccessForLikeStringWithEscape.sql +@@lib/RunTest.sql ut_assert/ut_assert.is_like.GivesFailureForLikeString.sql +@@lib/RunTest.sql ut_assert/ut_assert.is_like.GivesFailureForLikeStringWithEscape.sql +@@lib/RunTest.sql ut_assert/ut_assert.is_matching.GivesSuccessForMatchingString.sql +@@lib/RunTest.sql ut_assert/ut_assert.is_matching.GivesSuccessForMatchingStringWithModifier.sql +@@lib/RunTest.sql ut_assert/ut_assert.is_matching.GivesFailureForMatchingString.sql + @@lib/RunTest.sql ut_utils/ut_utils.to_string.verySmallNumber.sql @@lib/RunTest.sql ut_utils/ut_utils.to_string.veryBigNumber.sql @@lib/RunTest.sql ut_utils/ut_utils.to_string.Date.sql diff --git a/tests/ut_assert/ut_assert.is_like.GivesFailureForLikeString.sql b/tests/ut_assert/ut_assert.is_like.GivesFailureForLikeString.sql new file mode 100644 index 000000000..e37051287 --- /dev/null +++ b/tests/ut_assert/ut_assert.is_like.GivesFailureForLikeString.sql @@ -0,0 +1,17 @@ +--Arrange +declare + l_mask varchar2(10) := 'a%b'; + l_string varchar2(50) := 'asdfsdfsdfc'; + l_result integer; +begin +--Act + ut_assert.is_like(l_string, l_mask); + l_result := ut_assert.get_aggregate_asserts_result(); +--Assert + if l_result = ut_utils.tr_failure then + :test_result := ut_utils.tr_success; + else + dbms_output.put_line('expected: string like'''||l_mask||''', got: '''||l_result||'''' ); + end if; +end; +/ diff --git a/tests/ut_assert/ut_assert.is_like.GivesFailureForLikeStringWithEscape.sql b/tests/ut_assert/ut_assert.is_like.GivesFailureForLikeStringWithEscape.sql new file mode 100644 index 000000000..95b3298be --- /dev/null +++ b/tests/ut_assert/ut_assert.is_like.GivesFailureForLikeStringWithEscape.sql @@ -0,0 +1,17 @@ +--Arrange +declare + l_mask varchar2(10) := 'a%\_b'; + l_string varchar2(50) := 'asdfsdfsdf_b'; + l_result integer; +begin +--Act + ut_assert.is_like('', l_string, l_mask, '/'); + l_result := ut_assert.get_aggregate_asserts_result(); +--Assert + if l_result = ut_utils.tr_failure then + :test_result := ut_utils.tr_success; + else + dbms_output.put_line('expected: string like'''||l_mask||''' with escape ''/'', got: '''||l_result||'''' ); + end if; +end; +/ diff --git a/tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeString.sql b/tests/ut_assert/ut_assert.is_like.GivesSuccessForLikeString.sql similarity index 90% rename from tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeString.sql rename to tests/ut_assert/ut_assert.is_like.GivesSuccessForLikeString.sql index fdbfa6f52..40b75ad9d 100644 --- a/tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeString.sql +++ b/tests/ut_assert/ut_assert.is_like.GivesSuccessForLikeString.sql @@ -5,7 +5,7 @@ declare l_result integer; begin --Act - ut_assert.str_like(l_string, l_mask); + ut_assert.is_like(l_string, l_mask); l_result := ut_assert.get_aggregate_asserts_result(); --Assert if l_result = ut_utils.tr_success then diff --git a/tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeStringWithEscape.sql b/tests/ut_assert/ut_assert.is_like.GivesSuccessForLikeStringWithEscape.sql similarity index 89% rename from tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeStringWithEscape.sql rename to tests/ut_assert/ut_assert.is_like.GivesSuccessForLikeStringWithEscape.sql index 06bb6def4..c015f047b 100644 --- a/tests/ut_assert/ut_assert.are_equal.varchar2.GivesSuccessForLikeStringWithEscape.sql +++ b/tests/ut_assert/ut_assert.is_like.GivesSuccessForLikeStringWithEscape.sql @@ -5,7 +5,7 @@ declare l_result integer; begin --Act - ut_assert.str_like('', l_string, l_mask, '/'); + ut_assert.is_like('', l_string, l_mask, '/'); l_result := ut_assert.get_aggregate_asserts_result(); --Assert if l_result = ut_utils.tr_success then diff --git a/tests/ut_assert/ut_assert.is_matching.GivesFailureForMatchingString.sql b/tests/ut_assert/ut_assert.is_matching.GivesFailureForMatchingString.sql new file mode 100644 index 000000000..86cdd0d16 --- /dev/null +++ b/tests/ut_assert/ut_assert.is_matching.GivesFailureForMatchingString.sql @@ -0,0 +1,24 @@ +PL/SQL Developer Test script 3.0 +17 +--Arrange +declare + l_mask varchar2(20) := '[a-z]+\d[a-z]+'; + l_string varchar2(50) := 'asd123asd'; + l_result integer; +begin +--Act + ut_assert.is_matching(l_string, l_mask); + l_result := ut_assert.get_aggregate_asserts_result(); +--Assert + if l_result = ut_utils.tr_failure then + :test_result := ut_utils.tr_success; + else + dbms_output.put_line('expected: string like'''||l_mask||''', got: '''||l_result||'''' ); + end if; +end; +--/ +1 +test_result +0 +5 +0 diff --git a/tests/ut_assert/ut_assert.is_matching.GivesSuccessForMatchingString.sql b/tests/ut_assert/ut_assert.is_matching.GivesSuccessForMatchingString.sql new file mode 100644 index 000000000..1cf0fc5ef --- /dev/null +++ b/tests/ut_assert/ut_assert.is_matching.GivesSuccessForMatchingString.sql @@ -0,0 +1,17 @@ +--Arrange +declare + l_mask varchar2(20) := '[a-z]+\d+[a-z]+'; + l_string varchar2(50) := 'asd123asd'; + l_result integer; +begin +--Act + ut_assert.is_matching(l_string, l_mask); + l_result := ut_assert.get_aggregate_asserts_result(); +--Assert + if l_result = ut_utils.tr_success then + :test_result := ut_utils.tr_success; + else + dbms_output.put_line('expected: string like'''||l_mask||''', got: '''||l_result||'''' ); + end if; +end; +/ diff --git a/tests/ut_assert/ut_assert.is_matching.GivesSuccessForMatchingStringWithModifier.sql b/tests/ut_assert/ut_assert.is_matching.GivesSuccessForMatchingStringWithModifier.sql new file mode 100644 index 000000000..1cf0fc5ef --- /dev/null +++ b/tests/ut_assert/ut_assert.is_matching.GivesSuccessForMatchingStringWithModifier.sql @@ -0,0 +1,17 @@ +--Arrange +declare + l_mask varchar2(20) := '[a-z]+\d+[a-z]+'; + l_string varchar2(50) := 'asd123asd'; + l_result integer; +begin +--Act + ut_assert.is_matching(l_string, l_mask); + l_result := ut_assert.get_aggregate_asserts_result(); +--Assert + if l_result = ut_utils.tr_success then + :test_result := ut_utils.tr_success; + else + dbms_output.put_line('expected: string like'''||l_mask||''', got: '''||l_result||'''' ); + end if; +end; +/