Das Testprogramm
Um den generierten Programmcode testen zu können, wird ein einfaches Testprogramm erstellt.
L:\Projekte\LF‑ET-Demo\Cobol\TCOMPARE.cob
WORKING-STORAGE SECTION.
COPY COMPARE-PARM.
COPY COMPARE-CONST.
01 TESTCASE.
02 STRING1 PIC X(3).
02 FILLER PIC X(1).
02 STRING2 PIC X(3).
02 FILLER PIC X(1).
02 RESULT PIC X(7).
01 TESTCASES.
02 EXECUTED PIC 9(3) VALUE ZERO.
02 FAILED PIC 9(3) VALUE ZERO.
PROCEDURE DIVISION.
MAIN SECTION.
PERFORM TEST-SUITE
PERFORM DISPLAY-RESULT
STOP RUN.
TEST-SUITE SECTION.
MOVE "a {vbar}aa {vbar}S1 < S2" TO TESTCASE PERFORM TEST-CASE
MOVE "aaa{vbar}bbb{vbar}S1 < S2" TO TESTCASE PERFORM TEST-CASE
MOVE " {vbar}abc{vbar}S1 < S2" TO TESTCASE PERFORM TEST-CASE
MOVE "abc{vbar} {vbar}S1 > S2" TO TESTCASE PERFORM TEST-CASE
MOVE "abc{vbar}abb{vbar}S1 > S2" TO TESTCASE PERFORM TEST-CASE
MOVE "abc{vbar}ab {vbar}S1 > S2" TO TESTCASE PERFORM TEST-CASE
MOVE " {vbar} {vbar}S1 = S2" TO TESTCASE PERFORM TEST-CASE
MOVE "aaa{vbar}aaa{vbar}S1 = S2" TO TESTCASE PERFORM TEST-CASE
MOVE "xxx{vbar}xxx{vbar}S1 = S2" TO TESTCASE PERFORM TEST-CASE
EXIT.
TEST-CASE SECTION.
MOVE CORRESPONDING TESTCASE TO COMPARE-PARM
CALL "COMPARE" USING COMPARE-PARM
ADD 1 TO EXECUTED
IF (RESULT OF COMPARE-PARM <> RESULT OF TESTCASE) THEN
ADD 1 TO FAILED
DISPLAY 'Fehler in Testfall: ' EXECUTED
DISPLAY ' string1="' STRING1 OF COMPARE-PARM '" '
DISPLAY ' string2="' STRING2 OF COMPARE-PARM '" '
DISPLAY ' result="' RESULT OF COMPARE-PARM '" '
DISPLAY ' exp.result="' RESULT OF TESTCASE '" '
END-IF
EXIT.
DISPLAY-RESULT SECTION.
DISPLAY 'Testfälle: ' EXECUTED ', fehlerhaft: ' FAILED
IF (FAILED = 0) THEN
DISPLAY '*** OK *** '
ELSE
DISPLAY '*** FEHLER *** '
END-IF
EXIT.