473,797 Members | 3,196 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Test script to test functions in a package

35 New Member
Any suggestions on how to write a test script to test a package. Some of the functions in the package are to_number_zero, CheckIfNumeric( STRING_IN IN VARCHAR2). I need to write some sort of test script for these functions. For example, the to_number_zero test should pass in an alphabetic string and check the result, then pass in a numeric string and check the result.
Dec 5 '07
20 7688
kwartz
35 New Member
I understand that, however what I want is for each test to display pass or fail. thank you
Dec 17 '07 #11
amitpatel66
2,367 Recognized Expert Top Contributor
I understand that, however what I want is for each test to display pass or fail. thank you
I would give you one example without changing your existing function code.
Check this:

Expand|Select|Wrap|Line Numbers
  1.  
  2. SELECT DECODE(LENGTH(LASTNAME('BOND,JAMES')),4,'PASS','FAIL') FROM DUAL;
  3.  
  4.  
I would check the length of the string returned by the function LASTNAME and if it is equal to 4 ('BOND' in this case) then I say 'PASS' else "FAIL'.
Dec 18 '07 #12
kwartz
35 New Member
This what I am trying to acheive, however because I am new to pl/sql I am not getting it right. Can you help me?

Thanks

Expand|Select|Wrap|Line Numbers
  1.  
  2. SET SERVEROUTPUT ON
  3.  
  4. DECLARE
  5. last_name VARCHAR2(20) := NULL;
  6. BEGIN
  7. last_name := LASTNAME('Smith,JAMES');
  8. last_name := LASTNAME ('Smith James');
  9. last_name := LASTNAME ('Smith^James');
  10. DBMS_OUTPUT.PUT_LINE(last_name);
  11.  
  12. IF
  13. last_name=('Smith')
  14. THEN
  15. DBMS_OUTPUT.PUT_LINE('LASTNAME test passed');
  16. ELSE
  17. DBMS_OUTPUT.PUT_LINE('LASTNAME test failed');
  18.  
  19.  
Dec 18 '07 #13
amitpatel66
2,367 Recognized Expert Top Contributor
This what I am trying to acheive, however because I am new to pl/sql I am not getting it right. Can you help me?

Thanks

Code: ( oracle8 )

SET SERVEROUTPUT ON

DECLARE
last_name VARCHAR2(20) := NULL;
BEGIN
last_name := LASTNAME('Smith ,JAMES');
last_name := LASTNAME ('Smith James');
last_name := LASTNAME ('Smith^James') ;
DBMS_OUTPUT.PUT _LINE(last_name );

IF
last_name=('Smi th')
THEN
DBMS_OUTPUT.PUT _LINE('LASTNAME test passed');
ELSE
DBMS_OUTPUT.PUT _LINE("LASTNAME test failed');

What is the error it is displaying??
Dec 19 '07 #14
amitpatel66
2,367 Recognized Expert Top Contributor
Hi,

Please check how to use CODE TAGS in POSTING GUIDELINES

MODERATOR
Dec 19 '07 #15
kwartz
35 New Member
What is the error it is displaying??
Does it sound logical? is it going work?
Dec 19 '07 #16
kwartz
35 New Member
This what I am trying to acheive, however because I am new to pl/sql I am not getting it right. Can you help me?

Thanks

Expand|Select|Wrap|Line Numbers
  1.  
  2. SET SERVEROUTPUT ON
  3.  
  4. DECLARE
  5. last_name VARCHAR2(20) := NULL;
  6. BEGIN
  7. last_name := LASTNAME('Smith,JAMES');
  8. last_name := LASTNAME ('Smith James');
  9. last_name := LASTNAME ('Smith^James');
  10. DBMS_OUTPUT.PUT_LINE(last_name);
  11.  
  12. IF
  13. last_name=('Smith')
  14. THEN
  15. DBMS_OUTPUT.PUT_LINE('LASTNAME test passed');
  16. ELSE
  17. DBMS_OUTPUT.PUT_LINE('LASTNAME test failed');
  18.  
  19.  
There are 3 test that I need to run, the way it is set up now, only one, the third one will run. How do I get to go through all 3?
Thanks
Dec 20 '07 #17
amitpatel66
2,367 Recognized Expert Top Contributor
There are 3 test that I need to run, the way it is set up now, only one, the third one will run. How do I get to go through all 3?
Thanks
Try this:

Expand|Select|Wrap|Line Numbers
  1.  
  2. DECLARE
  3. TYPE nmes IS VARRAY(50) OF VARCHAR2(100);
  4. nam names:= names('Smith,JAMES','Smith James','Smith^James');
  5. last_name VARCHAR2(20) := NULL;
  6. cnt NUMBER:= 0;
  7. BEGIN
  8. FOR I IN nam.FIRST..nam.COUNT LOOP
  9. last_name := LASTNAME(nam(i));
  10. IF
  11. (last_name='Smith')
  12. THEN
  13. cnt:=cnt + 1;
  14. END IF;
  15. END LOOP;
  16. IF(cnt = 3) THEN
  17. DBMS_OUTPUT.PUT_LINE('LASTNAME test passed');
  18. ELSE
  19. DBMS_OUTPUT.PUT_LINE('LASTNAME test failed');
  20. END IF;
  21. END;
  22.  
  23.  
Dec 24 '07 #18
kwartz
35 New Member
Try this:

Expand|Select|Wrap|Line Numbers
  1.  
  2. DECLARE
  3. TYPE nmes IS VARRAY(50) OF VARCHAR2(100);
  4. nam names:= names('Smith,JAMES','Smith James','Smith^James');
  5. last_name VARCHAR2(20) := NULL;
  6. cnt NUMBER:= 0;
  7. BEGIN
  8. FOR I IN nam.FIRST..nam.COUNT LOOP
  9. last_name := LASTNAME(nam(i));
  10. IF
  11. (last_name='Smith')
  12. THEN
  13. cnt:=cnt + 1;
  14. END IF;
  15. END LOOP;
  16. IF(cnt = 3) THEN
  17. DBMS_OUTPUT.PUT_LINE('LASTNAME test passed');
  18. ELSE
  19. DBMS_OUTPUT.PUT_LINE('LASTNAME test failed');
  20. END IF;
  21. END;
  22.  
  23.  
This works fine, however, all three test are run. What I will prefer is depending on the input, lets say we want to test for 'Smith^James' this time it works and another time we can test for 'Smith,James' . In this current state all three criteria should be present for the test to pass, taking away one fails the test. This shouldn't be so.
Thanks
Dec 27 '07 #19
kwartz
35 New Member
This works fine, however, all three test are run. What I will prefer is depending on the input, lets say we want to test for 'Smith^James' this time it works and another time we can test for 'Smith,James' . In this current state all three criteria should be present for the test to pass, taking away one fails the test. This shouldn't be so.
Thanks
Is there anyway, I can use CASE ?
Dec 28 '07 #20

Sign in to post your reply or Sign up for a free account.

Similar topics

2
2115
by: TheDustbustr | last post by:
I'm writing a game in C++ that calls out to Python for scripting. The C++ kernel holds an instance of ScriptCtl and calls the load(filename) method to load a script, then run() to run all loaded scripts. <code> class ScriptCtl: threads= def load(self, filename):
4
1990
by: Ian Giblin | last post by:
I am an experienced C programmer, learning C++ by writinging a mathematical toolkit in the framework of a script interpreter. I am posting here to ask for advice (or references) on the object design and implimentation. Currently I have a portable "ScriptSession" class which contains the mechanics of looping with a user prompt, parsing a sentence and handling syntax errors, etc., and I wan this to be a class I can use for any script...
17
3629
by: cwdjrxyz | last post by:
Javascript has a very small math function list. However there is no reason that this list can not be extended greatly. Speed is not an issue, unless you nest complicated calculations several levels deep. In that case you need much more ram than a PC has to store functions calculated in loops so that you do not have to recalculate every time you cycle through the nest of loops. Using a HD for storage to extend ram is much too slow for many...
10
3492
by: Noah | last post by:
I would like to package my main script and all the modules it imports into a single script that will run just as the collection would. It should not need to package standard Python lib modules -- just my local modules. This is not the same question that would be answered with py2exe or py2app. I don't need to package the script into a binary along with Python. I expect Python to be installed. I also don't want to use distutils to install...
5
3554
by: Sakcee | last post by:
Hi I am trying to use pyUnit to create a framework for testing functions I am reading function name, expected output, from a text file. and in python generating dynamic test functions something like this class getUsStatesTest( unittest.TestCase ):
5
11475
by: sylcheung | last post by:
Is it possible to use python to unit test C++ code? If yes, is there any example available? Thank you.
1
1393
by: steven.harms | last post by:
Hi gurus, 1. foo.html has a script tag to reference'foo.js' 2. foo.js wants to use the handy datadumper.js routines 3. How does foo.js become aware of functions in the datadumper.js namespace? Is this possible? I'm sure it must be? Assuming it is....
5
2775
by: Martijn Saly | last post by:
I'd like to test in my script, if it's going to be possible to enable priviliges. If I use this... netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect") ....it presents a dialog to the user asking if it's ok. Now I don't want to hide that dialog, I'd like to know if it's going to be possible to click the Allow button, before ever making this call. Basically I need
0
1198
by: Alan Isaac | last post by:
This is really a repackaging of an earlier question, probably illustrating that I still do not understand relative imports. Suppose I have the package structure (taken from the example at http://www.python.org/dev/peps/pep-0328/) package/ __init__.py subpackage1/ __init__.py
0
9685
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10469
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10246
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10209
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
1
7560
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5459
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5582
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3750
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2934
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.