Ajout de données de test à un tableau
Vous pouvez spécifier des données d'entrée, ou des données de sortie attendues, pour les éléments de tableau dans l'Editeur de scénario de test. zUnit ne génère des instructions dans le programme de test que pour les éléments du tableau contenant des données.
Exemple
I-ITEM03 : 01 LOGICALPARAMS.
03 I-ITEM01 PIC X(20).
03 R-ITEM01 REDEFINES I-ITEM01 PIC 9(20) .
03 I-ITEM02 PIC X(20).
03 R-ITEM02 REDEFINES I-ITEM02 OCCURS 20 PIC X(1) .
03 I-ITEM03 OCCURS 25 PIC X(2).Cette capture d'écran montre comment ce tableau est affiché dans l'Editeur de scénario de test :


I-ITEM03. IDENTIFICATION DIVISION.
PROGRAM-ID. 'SETUP'.
DATA DIVISION.
WORKING-STORAGE SECTION.
1 CEEGTST-SIZE PIC S9(9) COMP-5.
1 CEEGTST-HEAP PIC S9(9) COMP-5.
1 PARM-SIZE PIC S9(9) COMP-5.
1 CURRENT-TEST-FIXTURE-PTR POINTER.
1 CURRENT-TEST-FIXTURE-PTR-VALUE REDEFINES
CURRENT-TEST-FIXTURE-PTR PIC S9(9) COMP-5.
1 NEXT-TEST-FIXTURE-PTR POINTER.
1 NEXT-TEST-FIXTURE-PTR-VALUE REDEFINES
NEXT-TEST-FIXTURE-PTR PIC S9(9) COMP-5.
1 FAIL-MESSAGE-TXT PIC X(254).
1 FAIL-MESSAGE-LEN PIC S9(9) COMP-5.
1 AZ-TEST-INPUT-DATA-VALUE.
3 ZUT00000000.
5 PIC X(1) DISPLAY VALUE '1'.
5 PIC X(1) DISPLAY VALUE SPACES.
3 ZUT00000001.
5 PIC X(1) DISPLAY VALUE '2'.
5 PIC X(1) DISPLAY VALUE SPACES.
3 ZUT00000002.
5 PIC X(1) DISPLAY VALUE '3'.
5 PIC X(1) DISPLAY VALUE SPACES.
3 ZUT00000003.
5 PIC X(1) DISPLAY VALUE '4'.
5 PIC X(1) DISPLAY VALUE SPACES.
3 ZUT00000004.
5 PIC X(1) DISPLAY VALUE '5'.
5 PIC X(1) DISPLAY VALUE SPACES.
3 ZUT00000005.
5 PIC X(1) DISPLAY VALUE '6'.
5 PIC X(1) DISPLAY VALUE SPACES.
1 AZ-TEST-NAME-FOR-SUB PIC X(254) EXTERNAL.
1 AZ-TEST-NAME-LEN PIC S9(9) COMP-5 EXTERNAL.
1 AZ-TEST-CASE-PTR POINTER EXTERNAL.
1 AZ-TEST-CASE-PTR-VALUE REDEFINES
AZ-TEST-CASE-PTR PIC 9(9) COMP-5.
LINKAGE SECTION.
1 LOGICALPARAMS.
3 I-ITEM01 PIC X(20).
3 R-ITEM01 REDEFINES I-ITEM01 PIC 9(20).
3 I-ITEM02 PIC X(20).
3 R-ITEM02 REDEFINES I-ITEM02 OCCURS 20 PIC X(1).
3 I-ITEM03 OCCURS 25 PIC X(2).
1 TEST-CASE-PTR POINTER.
1 TEST-CASE-PTR-VALUE REDEFINES
TEST-CASE-PTR PIC 9(9) COMP-5.
1 TEST-FIXTURE-PTR POINTER.
1 TEST-NAME-PTR POINTER.
1 TEST-NAME-LEN PIC S9(9) COMP-5.
1 TEST-NAME PIC X(254).
PROCEDURE DIVISION USING BY VALUE TEST-CASE-PTR
BY REFERENCE TEST-FIXTURE-PTR
BY VALUE TEST-NAME-PTR
BY VALUE TEST-NAME-LEN.
SET ADDRESS OF TEST-NAME TO TEST-NAME-PTR
MOVE TEST-NAME(1:TEST-NAME-LEN) TO
AZ-TEST-NAME-FOR-SUB(1:TEST-NAME-LEN)
MOVE TEST-NAME-LEN TO AZ-TEST-NAME-LEN
EVALUATE TEST-NAME(1:TEST-NAME-LEN)
WHEN 'ENTRY1'
DISPLAY 'SETUP (' TEST-NAME(1:TEST-NAME-LEN) ')'
* configuration pour ENTRY1 dans le test
PERFORM ALLOCATE-PARM
MOVE ZUT00000000 TO I-ITEM03 OF LOGICALPARAMS (1)
MOVE ZUT00000001 TO I-ITEM03 OF LOGICALPARAMS (2)
MOVE ZUT00000002 TO I-ITEM03 OF LOGICALPARAMS (3)
MOVE ZUT00000003 TO I-ITEM03 OF LOGICALPARAMS (4)
MOVE ZUT00000004 TO I-ITEM03 OF LOGICALPARAMS (6)
MOVE ZUT00000005 TO I-ITEM03 OF LOGICALPARAMS (8)
MOVE TEST-CASE-PTR-VALUE TO AZ-TEST-CASE-PTR-VALUE
END-EVALUATE
GOBACK
.
ALLOCATE-PARM.
* allocation d'une instance de structure de paramètre
INITIALIZE CEEGTST-HEAP CEEGTST-SIZE
* obtention d'une taille de paramètre
INITIALIZE PARM-SIZE
* LONGUEUR de LOGICALPARAMS : 90
IF 90 > PARM-SIZE
MOVE 90 TO PARM-SIZE
ADD PARM-SIZE TO CEEGTST-SIZE
* obtention d'un segment de mémoire
CALL 'CEEGTST' USING CEEGTST-HEAP CEEGTST-SIZE
TEST-FIXTURE-PTR OMITTED
SET NEXT-TEST-FIXTURE-PTR TO TEST-FIXTURE-PTR
* définition de l'adresse d'un paramètre
SET ADDRESS OF LOGICALPARAMS TO NEXT-TEST-FIXTURE-PTR
.
END PROGRAM 'SETUP'.