-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUTL$UNIT.package.sql
402 lines (329 loc) · 21.6 KB
/
UTL$UNIT.package.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
CREATE OR REPLACE
PACKAGE UTL$UNIT
IS
/**
* ======================================================================
* LICENSE and ANNOTATION
* ======================================================================
*
* Unit Testing - Small unit testing utilities.
*
* ======================================================================
* Distributed under "The GNU Lesser General Public License, version 3.0 (LGPLv3)"
* ======================================================================
*
* UTL$UNIT
*
* Copyright (c) 2012, Martin Mareš <martin at sequel-code.cz>
* All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* ======================================================================
*/
-- BASIC data types
SUBTYPE T_ONE_CHAR IS UTL$DATA_TYPES.T_DB_BOOLEAN;
SUBTYPE T_SMALL_INTEGER IS UTL$DATA_TYPES.T_SMALL_INTEGER;
SUBTYPE T_BIG_INTEGER IS UTL$DATA_TYPES.T_BIG_INTEGER;
SUBTYPE T_MAX_INTEGER IS UTL$DATA_TYPES.T_MAX_INTEGER;
SUBTYPE T_SMALL_DOUBLE IS UTL$DATA_TYPES.T_SMALL_DOUBLE;
SUBTYPE T_BIG_DOUBLE IS UTL$DATA_TYPES.T_BIG_DOUBLE;
SUBTYPE T_MAX_DOUBLE IS UTL$DATA_TYPES.T_MAX_DOUBLE;
SUBTYPE T_SMALL_STRING IS UTL$DATA_TYPES.T_SMALL_STRING;
SUBTYPE T_BIG_STRING IS UTL$DATA_TYPES.T_BIG_STRING;
SUBTYPE T_MAX_STRING IS UTL$DATA_TYPES.T_MAX_STRING;
SUBTYPE T_SMALL_TIMESTAMP IS UTL$DATA_TYPES.T_SMALL_TIMESTAMP;
SUBTYPE T_BIG_TIMESTAMP IS UTL$DATA_TYPES.T_BIG_TIMESTAMP;
SUBTYPE T_MAX_TIMESTAMP IS UTL$DATA_TYPES.T_MAX_TIMESTAMP;
SUBTYPE T_USER_MESSAGE IS UTL$DATA_TYPES.T_USER_MESSAGE;
SUBTYPE T_DATE IS UTL$DATA_TYPES.T_DATE;
SUBTYPE T_BOOLEAN IS UTL$DATA_TYPES.T_BOOLEAN;
SUBTYPE T_NUMBER IS UTL$DATA_TYPES.T_NUMBER;
SUBTYPE T_BINARY_INTEGER IS UTL$DATA_TYPES.T_BINARY_INTEGER;
SUBTYPE T_PLS_INTEGER IS UTL$DATA_TYPES.T_PLS_INTEGER;
SUBTYPE T_BIG_DATA IS UTL$DATA_TYPES.T_BIG_DATA;
SUBTYPE T_BIG_STRING_LIST IS UTL$DATA_TYPES.T_BIG_STRING_LIST;
-- VERSION
VERSION T_SMALL_STRING := '0.1';
CREATED_BY T_SMALL_STRING := 'Martin Mareš';
-- NULL values for BASIC data types
c_NULL_BOOLEAN T_BOOLEAN := NULL;
c_NULL_NUMBER T_BIG_INTEGER := NULL;
c_NULL_VARCHAR2 T_MAX_STRING := NULL;
c_NULL_DATE T_DATE := NULL;
-- Special parameters
c_SPECIAL_STRING_BEGIN CONSTANT T_SMALL_STRING := '{';
c_SPECIAL_CHAR CONSTANT T_ONE_CHAR := '$';
c_SPECIAL_STRING_END CONSTANT T_SMALL_STRING := '}';
c_SPECIAL_OBJECT_OWNER CONSTANT T_SMALL_STRING := 'OBJECT_OWNER';
c_SPECIAL_OBJECT_NAME CONSTANT T_SMALL_STRING := 'OBJECT_NAME';
c_SPECIAL_OBJECT_TYPE CONSTANT T_SMALL_STRING := 'OBJECT_TYPE';
c_SPECIAL_EXPECTED_VALUE CONSTANT T_SMALL_STRING := 'EXPECTED_VALUE';
c_SPECIAL_TESTED_VALUE CONSTANT T_SMALL_STRING := 'TESTED_VALUE';
c_LIKE_CHAR CONSTANT T_ONE_CHAR := '%';
-- CONSTANTS
c_SPACE_CHAR CONSTANT T_ONE_CHAR := ' ';
c_QUESTION_MARK_CHAR CONSTANT T_ONE_CHAR := '?';
c_OK_CHAR CONSTANT T_ONE_CHAR := '.';
c_OWNER_AND_OBJ_NAME_SEP CONSTANT T_ONE_CHAR := '.';
c_SINGLE_QUOTE_CHAR CONSTANT T_ONE_CHAR := '''';
c_DOUBLE_QUOTE_CHAR CONSTANT T_ONE_CHAR := '"';
c_FAILED_CHAR CONSTANT T_ONE_CHAR := 'F';
c_LINE_SEP_CHAR CONSTANT T_ONE_CHAR := '-';
c_INDENTATION_SEP_CHAR CONSTANT T_ONE_CHAR := ' ';
c_PREFIX CONSTANT T_SMALL_STRING := '[';
c_SUFFIX CONSTANT T_SMALL_STRING := ']';
c_ROUND_PARENTHES_BEGIN CONSTANT T_SMALL_STRING := '(';
c_ROUND_PARENTHES_END CONSTANT T_SMALL_STRING := ')';
c_OK CONSTANT T_SMALL_STRING := 'Success';
c_FAILED CONSTANT T_SMALL_STRING := 'Failed';
c_MESSAGE_PREFIX_LENGTH CONSTANT T_SMALL_INTEGER := LENGTH(c_PREFIX) + LENGTH(c_SUFFIX) + GREATEST(LENGTH(c_OK), LENGTH(c_FAILED));
c_MESSAGE_DELIMITER CONSTANT T_SMALL_STRING := ' - ';
c_TRUE CONSTANT T_SMALL_STRING := 'True';
c_FALSE CONSTANT T_SMALL_STRING := 'False';
c_NULL CONSTANT T_SMALL_STRING := 'NULL';
c_NOT CONSTANT T_SMALL_STRING := 'NOT';
c_OR CONSTANT T_SMALL_STRING := 'OR';
c_NOT_NULL CONSTANT T_SMALL_STRING := c_NOT || ' ' || c_NULL;
c_DATATYPE_BOOLEAN CONSTANT T_SMALL_STRING := 'BOOLEAN';
c_DATATYPE_NUMBER CONSTANT T_SMALL_STRING := 'NUMBER';
c_DATATYPE_STRING CONSTANT T_SMALL_STRING := 'STRING';
c_DATATYPE_DATE CONSTANT T_SMALL_STRING := 'DATE';
c_LONGEST_DATATYPE_LENGTH CONSTANT T_SMALL_INTEGER := LENGTH(c_PREFIX) + LENGTH(c_SUFFIX) + GREATEST(LENGTH(c_DATATYPE_BOOLEAN), LENGTH(c_DATATYPE_NUMBER), LENGTH(c_DATATYPE_STRING), LENGTH(c_DATATYPE_DATE));
c_UNIT_TEST_MESSAGE CONSTANT T_SMALL_STRING := 'Test';
c_ID_ASSERT_BOOLEAN CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || c_DOUBLE_QUOTE_CHAR || c_TRUE || '/' || c_FALSE || ' value"';
c_ID_ASSERT_NULL CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || c_DOUBLE_QUOTE_CHAR || c_NULL || ' value"';
c_ID_ASSERT_NOT_NULL CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || c_DOUBLE_QUOTE_CHAR || c_NOT_NULL || ' value"';
c_ID_ASSERT_EQUAL CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || '"Equals"';
c_ID_ASSERT_NOT_EQUAL CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || c_DOUBLE_QUOTE_CHAR || c_NOT || ' Equals"';
c_ID_ASSERT_GREATER_THEN CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || '"Greater then"';
c_ID_ASSERT_GREATER_THEN_OR_EQ CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || '"Greater then ' || c_OR || ' Equal"';
c_ID_ASSERT_LESS_THEN CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || '"Less then"';
c_ID_ASSERT_LESS_THEN_OR_EQ CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || '"Less then ' || c_OR || ' Equal"';
c_ID_EXISTS_OBJECT CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || '"Exists object"';
c_ID_SHOULD_RAISE_EXCEPTION CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || '"Should raise exception"';
c_ID_ASSERT_CONTAINS CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || '"Contains text"';
c_ID_ASSERT_CONTAINS_AT_BEGIN CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || '"Contains at beginning"';
c_ID_ASSERT_CONTAINS_AT_END CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || '"Contains at end"';
c_ID_ASSERT_NOT_CONT CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || '"Not contains text"';
c_ID_ASSERT_NOT_CONT_AT_BEGIN CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || '"Not contains text at beginning"';
c_ID_ASSERT_NOT_CONT_AT_END CONSTANT T_SMALL_STRING := c_UNIT_TEST_MESSAGE || ' ' || '"Not contains text at end"';
c_LONGEST_IDENTIFIER_LENGTH CONSTANT T_SMALL_INTEGER := LENGTH(c_PREFIX) + LENGTH(c_SUFFIX) + GREATEST(LENGTH(c_ID_ASSERT_BOOLEAN)
,LENGTH(c_ID_ASSERT_GREATER_THEN)
,LENGTH(c_ID_ASSERT_GREATER_THEN_OR_EQ)
,LENGTH(c_ID_ASSERT_LESS_THEN)
,LENGTH(c_ID_ASSERT_LESS_THEN_OR_EQ));
c_DEFAULT_RPAD_LENGTH CONSTANT T_SMALL_INTEGER := 80;
c_PARAMETERS_LENGTH CONSTANT T_SMALL_INTEGER := 50;
c_MAX_LINE_SIZE CONSTANT T_SMALL_INTEGER := 255;
c_BASIC_INDENTATION_LENGTH CONSTANT T_SMALL_INTEGER := 4;
c_DEFAULT_DATE_FORMAT CONSTANT T_SMALL_STRING := 'dd. mm. yyyy hh24:mi';
c_DEFAULT_TIME_FORMAT CONSTANT T_SMALL_STRING := 'hh24:mi:ss';
c_DEFAULT_DATE_PRECISION CONSTANT T_SMALL_STRING := 'dd. mm. yyyy hh24:mi';
c_DEFAULT_DATE_FULL CONSTANT T_SMALL_STRING := 'dd. mm. yyyy hh24:mi:ss';
c_EQUAL CONSTANT T_SMALL_STRING := ' = ';
c_NOT_EQUAL CONSTANT T_SMALL_STRING := ' <> ';
c_GREATHER_THEN CONSTANT T_SMALL_STRING := ' > ';
c_GREATHER_THEN_OR_EQUAL CONSTANT T_SMALL_STRING := ' >= ';
c_LESS_THEN CONSTANT T_SMALL_STRING := ' < ';
c_LESS_THEN_OR_EQUAL CONSTANT T_SMALL_STRING := ' <= ';
c_EXISTS CONSTANT T_SMALL_STRING := 'Exists';
c_CONTAINS CONSTANT T_SMALL_STRING := '"contains"';
c_CONTAINS_AT_BEGIN CONSTANT T_SMALL_STRING := '"contains at the beginning"';
c_CONTAINS_AT_END CONSTANT T_SMALL_STRING := '"contains at an end"';
c_NOT_CONTAINS CONSTANT T_SMALL_STRING := '"not contains"';
c_NOT_CONTAINS_AT_BEGIN CONSTANT T_SMALL_STRING := '"not contains at the beginning"';
c_NOT_CONTAINS_AT_END CONSTANT T_SMALL_STRING := '"not contains at an end"';
-- Object types
c_OBJECT CONSTANT T_SMALL_STRING := 'Object:';
c_OBJECT_TYPE_TABLE CONSTANT T_SMALL_STRING := 'TABLE';
c_OBJECT_TYPE_PROCEDURE CONSTANT T_SMALL_STRING := 'PROCEDURE';
c_OBJECT_TYPE_FUNCTION CONSTANT T_SMALL_STRING := 'FUNCTION';
c_OBJECT_TYPE_PACKAGE CONSTANT T_SMALL_STRING := 'PACKAGE';
c_OBJECT_TYPE_PACKAGE_B CONSTANT T_SMALL_STRING := 'PACKAGE BODY';
c_DATA_TYPE_OBJECT_TABLE CONSTANT T_SMALL_STRING := c_OBJECT || ' ' || c_OBJECT_TYPE_TABLE;
c_DATA_TYPE_OBJECT_PROCEDURE CONSTANT T_SMALL_STRING := c_OBJECT || ' ' || c_OBJECT_TYPE_PROCEDURE;
c_DATA_TYPE_OBJECT_FUNCTION CONSTANT T_SMALL_STRING := c_OBJECT || ' ' || c_OBJECT_TYPE_FUNCTION;
c_DATA_TYPE_OBJECT_PACKAGE CONSTANT T_SMALL_STRING := c_OBJECT || ' ' || c_OBJECT_TYPE_PACKAGE;
c_DATA_TYPE_OBJECT_PACKAGE_B CONSTANT T_SMALL_STRING := c_OBJECT || ' ' || c_OBJECT_TYPE_PACKAGE_B;
-- Exceptions
c_EXCEPTION CONSTANT T_SMALL_STRING := 'EXCEPTION';
c_SHOULD_RAISE_EXCEPTION CONSTANT T_SMALL_STRING := 'Should raise exception';
SUBTYPE t_holder_schema_name IS T_SMALL_STRING;
SUBTYPE t_holder_scope_name IS T_SMALL_STRING;
TYPE t_assert_words IS TABLE OF T_BIG_STRING INDEX BY t_BINARY_INTEGER;
TYPE t_test_procedure IS RECORD (
test_suite_id T_NUMBER,
procedure_name T_MAX_STRING,
user_message T_MAX_STRING,
start_time T_DATE,
time_snap T_SMALL_INTEGER
);
TYPE t_test_procedures IS TABLE OF T_TEST_PROCEDURE INDEX BY t_BINARY_INTEGER;
TYPE t_message IS RECORD (
test_id T_NUMBER,
start_time T_DATE,
test_identifier T_BIG_STRING,
data_type T_BIG_STRING,
outcome_type T_BIG_STRING,
assert_words_list T_ASSERT_WORDS,
user_message T_MAX_STRING,
time_snap T_SMALL_INTEGER
);
TYPE t_user_messages IS TABLE OF T_MESSAGE INDEX BY t_BINARY_INTEGER;
PROCEDURE DBMS_OUTPUT_ON;
PROCEDURE DBMS_OUTPUT_OFF;
PROCEDURE DEBUG_ON;
PROCEDURE DEBUG_OFF;
PROCEDURE start_up_suite(test_suite_in IN T_BIG_STRING DEFAULT NULL);
PROCEDURE tear_down_suite(test_suite_in IN T_BIG_STRING DEFAULT NULL);
PROCEDURE start_up(test_suite_in IN T_BIG_STRING DEFAULT NULL);
PROCEDURE tear_down(test_suite_in IN T_BIG_STRING DEFAULT NULL);
PROCEDURE test_package(package_owner_in IN T_SMALL_STRING
,package_name_in IN T_SMALL_STRING
,test_suite_in IN T_BIG_STRING DEFAULT NULL);
PROCEDURE test_procedure(procedure_owner_in IN T_SMALL_STRING
,procedure_name_in IN T_SMALL_STRING
,test_suite_in IN T_SMALL_STRING DEFAULT NULL);
PROCEDURE test_function(function_owner_in IN T_SMALL_STRING
,function_name_in IN T_SMALL_STRING
,test_suite_in IN T_SMALL_STRING DEFAULT NULL);
FUNCTION get_version RETURN T_SMALL_STRING;
PROCEDURE print_version;
PROCEDURE plusplus(value_io IN OUT T_NUMBER);
FUNCTION plusplus(value_io IN OUT T_NUMBER) RETURN T_NUMBER;
-- boolean
PROCEDURE assert_null(tested_value_in IN T_BOOLEAN
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_not_null(tested_value_in IN T_BOOLEAN
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_true(condition_in IN T_BOOLEAN
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_false(condition_in IN T_BOOLEAN
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_equal(expected_value_in IN T_BOOLEAN
,tested_value_in IN T_BOOLEAN
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_not_equal(expected_value_in IN T_BOOLEAN
,tested_value_in IN T_BOOLEAN
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
-- number
PROCEDURE assert_null(tested_value_in IN T_NUMBER
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_not_null(tested_value_in IN T_NUMBER
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_equal(expected_value_in IN T_NUMBER
,tested_value_in IN T_NUMBER
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_not_equal(expected_value_in IN T_NUMBER
,tested_value_in IN T_NUMBER
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_greather_then(expected_value_in IN T_NUMBER
,tested_value_in IN T_NUMBER
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_greather_then_or_equal(expected_value_in IN T_NUMBER
,tested_value_in IN T_NUMBER
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_less_then(expected_value_in IN T_NUMBER
,tested_value_in IN T_NUMBER
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_less_then_or_equal(expected_value_in IN T_NUMBER
,tested_value_in IN T_NUMBER
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
-- string
PROCEDURE assert_null(tested_value_in IN T_MAX_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_not_null(tested_value_in IN T_MAX_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_equal(expected_value_in IN T_MAX_STRING
,tested_value_in IN T_MAX_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_not_equal(expected_value_in IN T_MAX_STRING
,tested_value_in IN T_MAX_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_greather_then(expected_value_in IN T_MAX_STRING
,tested_value_in IN T_MAX_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_greather_then_or_equal(expected_value_in IN T_MAX_STRING
,tested_value_in IN T_MAX_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_less_then(expected_value_in IN T_MAX_STRING
,tested_value_in IN T_MAX_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_less_then_or_equal(expected_value_in IN T_MAX_STRING
,tested_value_in IN T_MAX_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_contains(expected_value_in IN T_MAX_STRING
,tested_value_in IN T_MAX_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_not_contains(expected_value_in IN T_MAX_STRING
,tested_value_in IN T_MAX_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_contains_at_begin(expected_value_in IN T_MAX_STRING
,tested_value_in IN T_MAX_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_contains_at_end(expected_value_in IN T_MAX_STRING
,tested_value_in IN T_MAX_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
-- date
PROCEDURE assert_null(tested_value_in IN T_DATE
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_not_null(tested_value_in IN T_DATE
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_equal(expected_value_in IN T_DATE
,tested_value_in IN T_DATE
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_not_equal(expected_value_in IN T_DATE
,tested_value_in IN T_DATE
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_greather_then(expected_value_in IN T_DATE
,tested_value_in IN T_DATE
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_greather_then_or_equal(expected_value_in IN T_DATE
,tested_value_in IN T_DATE
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_less_then(expected_value_in IN T_DATE
,tested_value_in IN T_DATE
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_less_then_or_equal(expected_value_in IN T_DATE
,tested_value_in IN T_DATE
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
-- objects
PROCEDURE assert_exists_object(object_owner_in IN T_SMALL_STRING
,object_name_in IN T_SMALL_STRING
,object_type_in IN T_SMALL_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_exists_table(table_owner_in IN T_SMALL_STRING
,table_name_in IN T_SMALL_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_exists_procedure(procedure_owner_in IN T_SMALL_STRING
,procedure_name_in IN T_SMALL_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_exists_function(function_owner_in IN T_SMALL_STRING
,function_name_in IN T_SMALL_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_exists_package(package_owner_in IN T_SMALL_STRING
,package_name_in IN T_SMALL_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
PROCEDURE assert_exists_package_b(package_b_owner_in IN T_SMALL_STRING
,package_b_name_in IN T_SMALL_STRING
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
-- exceptions
PROCEDURE should_raise_exception(lines_of_code_in IN T_BIG_STRING_LIST
,exception_constant_name_in IN T_SMALL_STRING
,exception_number_in IN T_BIG_INTEGER
,user_message_in IN T_USER_MESSAGE DEFAULT NULL);
END UTL$UNIT;
/