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

Skip to content

Commit 8955f5a

Browse files
committed
Added tests for cursor.
1 parent 01ec495 commit 8955f5a

3 files changed

Lines changed: 164 additions & 34 deletions

File tree

old_tests/RunAll.sql

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ exec ut_coverage.coverage_start_develop();
4949
@@lib/RunTest.sql ut_expectations/ut.expect.to_be_null.anydata.GivesSuccessWhenCollectionPassedIsNull.sql
5050
@@lib/RunTest.sql ut_expectations/ut.expect.to_be_null.anydata.GivesSuccessWhenObjectPassedIsNull.sql
5151
@@ut_expectations/ut.expect.to_be_null.sql
52-
@@lib/RunTest.sql ut_expectations/ut.expect.to_be_null.refcursor.GivesSuccessWhenCursorIsNull.sql
5352
@@lib/RunTest.sql ut_expectations/ut.expect.to_be_true.GivesFailureWhenExpessionIsFalse.sql
5453
@@lib/RunTest.sql ut_expectations/ut.expect.to_be_true.GivesFailureWhenExpessionIsNotBoolean.sql
5554
@@lib/RunTest.sql ut_expectations/ut.expect.to_be_true.GivesFailureWhenExpessionIsNull.sql
@@ -69,8 +68,6 @@ exec ut_coverage.coverage_start_develop();
6968
@@lib/RunTest.sql ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedCollectionAttributesXPath.sql
7069
@@lib/RunTest.sql ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedObjectAttributes.sql
7170
@@lib/RunTest.sql ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedObjectAttributesXPath.sql
72-
@@lib/RunTest.sql ut_expectations/ut.expect.to_equal.cursor.UsesDefaultNLSSettingsForDatesFormatting.sql
73-
@@lib/RunTest.sql ut_expectations/ut.expect.to_equal.cursor.worksOnLargeDatasets.sql
7471
@@ut_expectations/ut.expect.to_equal.GivesFailureForDifferentDataTypes.sql
7572
@@ut_expectations/ut.expect.to_equal.GivesFailureForDifferentValues.sql
7673
@@ut_expectations/ut.expect.to_equal.GivesFailureWhenActualIsNull.sql

test/core/expectations/test_expectations_cursor.pkb

Lines changed: 122 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ create or replace package body test_expectations_cursor is
9090
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_success);
9191
end;
9292

93-
procedure success_on_null
93+
procedure success_on_both_null
9494
as
9595
l_expected sys_refcursor;
9696
l_actual sys_refcursor;
@@ -101,6 +101,100 @@ create or replace package body test_expectations_cursor is
101101
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_success);
102102
end;
103103

104+
procedure success_is_null
105+
as
106+
l_actual sys_refcursor;
107+
begin
108+
--Act
109+
ut3.ut.expect( l_actual ).to_be_null();
110+
ut3.ut.expect( l_actual ).not_to_be_not_null();
111+
--Assert
112+
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_success);
113+
end;
114+
115+
procedure success_is_not_null
116+
as
117+
l_actual sys_refcursor;
118+
begin
119+
--Arrange
120+
open l_actual for select * from dual;
121+
--Act
122+
ut3.ut.expect( l_actual ).not_to_be_null();
123+
ut3.ut.expect( l_actual ).to_be_not_null();
124+
--Assert
125+
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_success);
126+
end;
127+
128+
procedure success_is_empty
129+
as
130+
l_actual sys_refcursor;
131+
begin
132+
--Arrange
133+
open l_actual for select * from dual where 0=1;
134+
--Act
135+
ut3.ut.expect( l_actual ).to_be_empty();
136+
--Assert
137+
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_success);
138+
end;
139+
140+
procedure success_is_not_empty
141+
as
142+
l_actual sys_refcursor;
143+
begin
144+
--Arrange
145+
open l_actual for select * from dual;
146+
--Act
147+
ut3.ut.expect( l_actual ).not_to_be_empty();
148+
--Assert
149+
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_success);
150+
end;
151+
152+
procedure failure_is_null
153+
as
154+
l_actual sys_refcursor;
155+
begin
156+
--Arrange
157+
open l_actual for select * from dual;
158+
--Act
159+
ut3.ut.expect( l_actual ).to_be_null();
160+
--Assert
161+
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_failure);
162+
end;
163+
164+
procedure failure_is_not_null
165+
as
166+
l_actual sys_refcursor;
167+
begin
168+
--Act
169+
ut3.ut.expect( l_actual ).not_to_be_null();
170+
--Assert
171+
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_failure);
172+
end;
173+
174+
procedure failure_is_empty
175+
as
176+
l_actual sys_refcursor;
177+
begin
178+
--Arrange
179+
open l_actual for select * from dual;
180+
--Act
181+
ut3.ut.expect( l_actual ).to_be_empty();
182+
--Assert
183+
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_failure);
184+
end;
185+
186+
procedure failure_is_not_empty
187+
as
188+
l_actual sys_refcursor;
189+
begin
190+
--Arrange
191+
open l_actual for select * from dual where 0=1;
192+
--Act
193+
ut3.ut.expect( l_actual ).not_to_be_empty();
194+
--Assert
195+
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_failure);
196+
end;
197+
104198
procedure fail_null_vs_empty
105199
as
106200
l_expected sys_refcursor;
@@ -109,9 +203,9 @@ create or replace package body test_expectations_cursor is
109203
--Arrange
110204
open l_expected for select * from dual where 1=0;
111205
--Act
112-
ut3.ut.expect( l_actual ).to_equal( l_expected );
206+
ut3.ut.expect( l_actual ).not_to_equal( l_expected );
113207
--Assert
114-
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_failure);
208+
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_success);
115209
end;
116210

117211
procedure fail_on_difference
@@ -199,39 +293,36 @@ procedure fail_on_different_column_order
199293
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_failure);
200294
end;
201295

202-
procedure ignore_time_part_of_date
296+
procedure include_time_in_date_with_nls
203297
as
204298
l_expected sys_refcursor;
205299
l_actual sys_refcursor;
206300
l_date date := sysdate;
207301
l_second number := 1/24/60/60;
208302
begin
209303
--Arrange
210-
ut.reset_nls;
304+
ut.set_nls;
211305
open l_actual for select l_date as some_date from dual;
212306
open l_expected for select l_date-l_second some_date from dual;
307+
ut.reset_nls;
213308
--Act
214309
ut3.ut.expect( l_actual ).to_equal( l_expected );
215310
--Assert
216-
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_success);
311+
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_failure);
217312
end;
218313

219-
procedure include_time_in_date_with_nls
314+
procedure uses_default_nls_for_date
220315
as
221-
l_expected sys_refcursor;
222316
l_actual sys_refcursor;
223-
l_date date := sysdate;
224-
l_second number := 1/24/60/60;
317+
l_expected sys_refcursor;
225318
begin
226319
--Arrange
227-
ut.set_nls;
228-
open l_actual for select l_date as some_date from dual;
229-
open l_expected for select l_date-l_second some_date from dual;
230-
ut.reset_nls;
320+
open l_actual for select sysdate as some_date from dual;
321+
open l_expected for select to_char(sysdate) some_date from dual;
231322
--Act
232-
ut3.ut.expect( l_actual ).to_equal( l_expected );
323+
ut3.ut.expect(l_actual).to_equal(l_expected);
233324
--Assert
234-
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_failure);
325+
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_success);
235326
end;
236327

237328
procedure exclude_columns_as_list
@@ -442,5 +533,20 @@ was expected to equal:%
442533
end;
443534
end;
444535

536+
procedure compares_over_1000_rows
537+
as
538+
l_actual sys_refcursor;
539+
l_expected sys_refcursor;
540+
begin
541+
--Arrange
542+
open l_actual for select object_name from all_objects where rownum <=1100;
543+
open l_expected for select object_name from all_objects where rownum <=1100;
544+
--Act
545+
ut3.ut.expect(l_actual).to_equal(l_expected);
546+
547+
--Assert
548+
ut.expect(ut3.ut_expectation_processor.get_status()).to_equal(ut3.ut_utils.tr_success);
549+
end;
550+
445551
end;
446552
/

test/core/expectations/test_expectations_cursor.pks

Lines changed: 42 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,42 +14,66 @@ create or replace package test_expectations_cursor is
1414
--%aftertest(cleanup_temp_table_test)
1515
procedure with_temp_table;
1616

17-
--%test(Returns success for identical data)
17+
--%test(Gives success for identical data)
1818
procedure success_on_same_data;
1919

20-
--%test(Returns success when both cursors are empty)
20+
--%test(Gives success when both cursors are empty)
2121
procedure success_on_empty;
2222

23-
--%test(Returns success when both cursors are null)
24-
procedure success_on_null;
23+
--%test(Gives success when both cursors are null)
24+
procedure success_on_both_null;
2525

26-
--%test(Returns failure when one cursor is empty and another is null)
26+
--%test(Gives success on is_null if cursor is null)
27+
procedure success_is_null;
28+
29+
--%test(Gives success on is_not_null if cursor is not null)
30+
procedure success_is_not_null;
31+
32+
--%test(Gives success on is_empty if cursor is empty)
33+
procedure success_is_empty;
34+
35+
--%test(Gives success on is_not_empty if cursor is not empty)
36+
procedure success_is_not_empty;
37+
38+
--%test(Gives failure on is_null if cursor is null)
39+
procedure failure_is_null;
40+
41+
--%test(Gives failure on is_not_null if cursor is not null)
42+
procedure failure_is_not_null;
43+
44+
--%test(Gives failure on is_empty if cursor is empty)
45+
procedure failure_is_empty;
46+
47+
--%test(Gives failure on is_not_empty if cursor is not empty)
48+
procedure failure_is_not_empty;
49+
50+
--%test(Gives failure when one cursor is empty and another is null)
2751
procedure fail_null_vs_empty;
2852

29-
--%test(Returns failure when different data present in one of rows)
53+
--%test(Gives failure when different data present in one of rows)
3054
procedure fail_on_difference;
3155

32-
--%test(Returns failure when more rows exist in actual)
56+
--%test(Gives failure when more rows exist in actual)
3357
procedure fail_on_expected_missing;
3458

35-
--%test(Returns failure when more rows exist in expected)
59+
--%test(Gives failure when more rows exist in expected)
3660
procedure fail_on_actual_missing;
3761

38-
--%test(Returns failure when different column name is used in cursors)
62+
--%test(Gives failure when different column name is used in cursors)
3963
procedure fail_on_different_column_name;
4064

41-
--%test(Returns failure when different column ordering is used in cursors)
65+
--%test(Gives failure when different column ordering is used in cursors)
4266
procedure fail_on_different_column_order;
4367

44-
--%test(Returns failure when different row ordering is used in cursors)
68+
--%test(Gives failure when different row ordering is used in cursors)
4569
procedure fail_on_different_row_order;
4670

47-
--%test(Ignores time part of date when NLS is not set)
48-
procedure ignore_time_part_of_date;
49-
50-
--%test(Compares time part of date when NLS is set)
71+
--%test(Compares time part of date when set_nls was used)
5172
procedure include_time_in_date_with_nls;
5273

74+
--%test(Uses default NLS for date when set_nls was not used)
75+
procedure uses_default_nls_for_date;
76+
5377
--%test(List of columns to exclude is case sensitive)
5478
procedure exclude_Columns_as_list;
5579

@@ -87,5 +111,8 @@ create or replace package test_expectations_cursor is
87111
--%disabled
88112
procedure reports_on_closed_cursor;
89113

114+
--%test(Compares cursors with more than 1000 rows)
115+
procedure compares_over_1000_rows;
116+
90117
end;
91118
/

0 commit comments

Comments
 (0)