61 lines
1.2 KiB
Plaintext
61 lines
1.2 KiB
Plaintext
CREATE OR REPLACE PACKAGE ut_hello_world#
|
|
IS
|
|
PROCEDURE run;
|
|
END ut_hello_world#;
|
|
/
|
|
|
|
CREATE OR REPLACE PACKAGE BODY ut_hello_world#
|
|
IS
|
|
|
|
PROCEDURE TEST (
|
|
i_descn varchar2,
|
|
i_exp varchar2,
|
|
i_act varchar2
|
|
)
|
|
IS
|
|
BEGIN
|
|
IF i_exp = i_act THEN
|
|
dbms_output.put_line('SUCCESS: ' || i_descn);
|
|
ELSE
|
|
dbms_output.put_line(
|
|
'FAILURE: ' || i_descn ||
|
|
': expected ''' || NVL('' || i_exp, 'NULL') ||
|
|
''', but got ''' || NVL('' || i_act, 'null') || '''!'
|
|
);
|
|
END IF;
|
|
END TEST;
|
|
|
|
PROCEDURE run
|
|
IS
|
|
BEGIN
|
|
TEST(
|
|
i_descn => 'no name',
|
|
i_exp => 'Hello, World!',
|
|
i_act => hello_world#.hello()
|
|
);
|
|
|
|
TEST(
|
|
i_descn => 'sample name',
|
|
i_exp => 'Hello, Alice!',
|
|
i_act => hello_world#.hello('Alice')
|
|
);
|
|
|
|
TEST(
|
|
i_descn => 'other sample name',
|
|
i_exp => 'Hello, Bob!',
|
|
i_act => hello_world#.hello('Bob')
|
|
);
|
|
EXCEPTION
|
|
WHEN others THEN
|
|
dbms_output.put_line('Test execution failed.');
|
|
dbms_output.put_line(sqlerrm);
|
|
END run;
|
|
|
|
END ut_hello_world#;
|
|
/
|
|
|
|
BEGIN
|
|
ut_hello_world#.run;
|
|
END;
|
|
/
|