-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathut_calc_secs_between.sql
More file actions
94 lines (80 loc) · 1.72 KB
/
Copy pathut_calc_secs_between.sql
File metadata and controls
94 lines (80 loc) · 1.72 KB
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
/*file calc_secs_between.sp */
CREATE OR REPLACE PROCEDURE calc_secs_between (
date1 IN DATE,
date2 IN DATE,
secs OUT NUMBER)
IS
BEGIN
-- 24 hours in a day,
-- 60 minutes in an hour,
-- 60 seconds in a minute...
secs := (date2 - date1) * 24 * 60 * 60;
END;
/
CREATE OR REPLACE PACKAGE ut_calc_secs_between
IS
PROCEDURE ut_setup;
PROCEDURE ut_teardown;
-- For each program to test...
PROCEDURE ut_CALC_SECS_BETWEEN;
PROCEDURE wtplsql_run;
END ut_calc_secs_between;
/
CREATE OR REPLACE PACKAGE BODY ut_calc_secs_between
IS
PROCEDURE ut_setup
IS
BEGIN
NULL;
END;
PROCEDURE ut_teardown
IS
BEGIN
NULL;
END;
-- For each program to test...
PROCEDURE ut_CALC_SECS_BETWEEN
IS
secs PLS_INTEGER;
BEGIN
CALC_SECS_BETWEEN (
DATE1 => SYSDATE
,
DATE2 => SYSDATE
,
SECS => secs
);
utAssert.eq (
'Same dates',
secs,
0
);
CALC_SECS_BETWEEN (
DATE1 => SYSDATE
,
DATE2 => SYSDATE+1
,
SECS => secs
);
utAssert.eq (
'Exactly one day',
secs,
24 * 60 * 60
);
END ut_CALC_SECS_BETWEEN;
--% WTPLSQL SET DBOUT "CALC_SECS_BETWEEN:PROCEDURE" %--
PROCEDURE wtPLSQL_run IS
BEGIN
ut_setup;
ut_CALC_SECS_BETWEEN;
ut_teardown;
END wtPLSQL_run;
END ut_calc_secs_between;
/
set serveroutput on size unlimited format word_wrapped
begin
wtplsql.test_run('UT_CALC_SECS_BETWEEN');
wt_text_report.dbms_out(in_runner_name => 'UT_CALC_SECS_BETWEEN'
,in_detail_level => 30);
end;
/