The data file is added to the unit test project.
The data file is renamed.
This ensures that if the file is edited, the most up-to-date version is always available in the output directory, to be used at run time.
The configuration file is added to the project.
The Application Settings dialog box appears.
01 errormessage pic x(200).
           move 4 to lnk-function
           call "AIRCODE" using
                       by value lnk-function
                       by value lnk-airport1
                       by value lnk-airport2
                       by value lnk-prefix-text
                       by reference lnk-rec
                       by reference lnk-distance-result
                       by reference lnk-matched-codes-array
                       by reference lnk-file-status
           end-call
           *> did we open the file?
           if lnk-file-status not equal "00"
               call MFU-ASSERT-FAIL-Z using TEST-TESTAIRCODE & " failed to open file" & x"0"
               exhibit named lnk-file-status
           end-if 
                     			 This code attempts to open the data file, and if it cannot open the file, fails the test and outputs the failed file status.
         move 2 to lnk-function
         move "LHR" to lnk-airport1 *> London Heathrow
         move "SEA" to lnk-airport2 *> Seattle 
                  		   
                  		          *> Assertions to check that the correct distance is returned
           if function numval(distance-miles) not equal 4787 
               string "Incorrect distance in miles returned - " 
                       distance-miles delimited by size
                       x"0" delimited by size
                       into errormessage
               end-string
               call MFU-ASSERT-FAIL-Z using errormessage
           end-if
           if function numval(distance-km) not equal 4787
               string "Incorrect distance in kilometers returned - " 
                       distance-km delimited by size
                       x"0" delimited by size
                       into errormessage
               end-string
               call MFU-ASSERT-FAIL-Z using errormessage
           end-if 
                     			 These are the assertions that check that the correct values are calculated for the distance (in miles and km) between the two airports, and if the calculation is incorrect, the test fails.
        exhibit named distance-miles
        exhibit named distance-km 
                     			 This code outputs the results of the calculations to the Output pane.
 
 
                     			 
                  
An MFU-TC-TEARDOWN-PREFIX & TEST-TESTAIRCODE entry point is added to the program.
           move 5 to lnk-function
           call "AIRCODE" using
                       by value lnk-function
                       by value lnk-airport1
                       by value lnk-airport2
                       by value lnk-prefix-text
                       by reference lnk-rec
                       by reference lnk-distance-result
                       by reference lnk-matched-codes-array
                       by reference lnk-file-status
           end-call
           *> did we close the file?
           if lnk-file-status not equal "00"
               call MFU-ASSERT-FAIL-Z using TEST-TESTAIRCODE & " failed to close file" & x"0"
               exhibit named lnk-file-status
           end-if 
                  			 This closes the data file after the test case has run.
The test case fails, and outputs the following to the Test Results pane:
 
 
                     			 
                  
The next task is to debug the test case to find out why it failed.