home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / virterm / vt2test.doc < prev    next >
Encoding:
Text File  |  1988-05-03  |  172.3 KB  |  6,380 lines

  1.  
  2.  
  3.  
  4.                                            |||||||||||||||||||||||||
  5.                                            |||||||||||||||||||||||||
  6.                                            |||||||||||||||||||||||||
  7.                                            |||||||||||||||||||||||||
  8.                                            |||||||||||||||||||||||||
  9.  
  10.                                              Computer Program Test
  11.                                                Procedures for a
  12.                                              ANSI X3.64 Compatible
  13.                                                Virtual Terminal
  14.                                                     in Ada
  15.  
  16.         Prepared for:                      |||||||||||||||||||||||||
  17.                                            |||||||||||||||||||||||||
  18.         Advanced Computer Systems Lab      |||||||||||||||||||||||||
  19.         Texas Instruments                  |||||||||||||||||||||||||
  20.                                            |||||||||||||||||||||||||
  21.                                            |||||||||||||||||||||||||
  22.                                            |||||||||||||||||||||||||
  23.                                            |||||||||||||||||||||||||
  24.                                            |||||||||||||||||||||||||
  25.                                            |||||||||||||||||||||||||
  26.                                            |||||||||||||||||||||||||
  27.                                            |||||||||||||||||||||||||
  28.                                            |||||||||||||||||||||||||
  29.                                            |||||||||||||||||||||||||
  30.                                            |||||||||||||||||||||||||
  31.                                            |||||||||||||||||||||||||
  32.                                            |||||||||||||||||||||||||
  33.                                            |||||||||||||||||||||||||
  34.                                            |||||||||||||||||||||||||
  35.                                            |||||||||||||||||||||||||
  36.                                            |||||||||||||||||||||||||
  37.                                            |||||||||||||||||||||||||
  38.                                            |||||||||||||||||||||||||
  39.                                            |||||||||||||||||||||||||
  40.                                            |||||||||||||||||||||||||
  41.                                            |||||||||||||||||||||||||
  42.                                            |||||||||||||||||||||||||
  43.           Equipment Group - ACSL           |||||||||||||||||||||||||
  44.           P.O. Box 801, M.S. 8007          |||||||||||||||||||||||||
  45.           McKinney, Texas  75069           |||||||||||||||||||||||||
  46.           XX December 1984                 |||||||||||||||||||||||||
  47.                                            |||||||||||||||||||||||||
  48.  
  49.                                                TEXAS INSTRUMENTS
  50.                                                   INCORPORATED
  51.  
  52.                                            |||||||||||||||||||||||||
  53.                                            |||||||||||||||||||||||||
  54.                                            |||||||||||||||||||||||||
  55.                                            |||||||||||||||||||||||||
  56.                                            |||||||||||||||||||||||||
  57.  
  58.  
  59.                                    CONTENTS
  60.  
  61.  
  62.  
  63. CHAPTER 1       
  64.  
  65.                 INTRODUCTION . . . . . . . . . . . . . . . . . . . 1-1
  66.                 PURPOSE  . . . . . . . . . . . . . . . . . . . . . 1-1
  67.                 SCOPE  . . . . . . . . . . . . . . . . . . . . . . 1-1
  68.                 SUMMARY  . . . . . . . . . . . . . . . . . . . . . 1-1
  69.  
  70.  
  71. CHAPTER 2       
  72.  
  73.                 APPLICABLE DOCUMENTS . . . . . . . . . . . . . . . 2-1
  74.  
  75.  
  76. CHAPTER 3       
  77.  
  78.                 TESTING REQUIREMENTS . . . . . . . . . . . . . . . 3-1
  79.                 GENERAL  . . . . . . . . . . . . . . . . . . . . . 3-1
  80.                 VIRTUAL TERMINAL ACCEPTANCE/PREOPERATING 
  81.                 PROCEDURES . . . . . . . . . . . . . . . . . . . . 3-2
  82.                   EQUIPMENT PREPARATION  . . . . . . . . . . . . . 3-2
  83.                   DIGITAL PROCESSOR PREPARATION  . . . . . . . . . 3-2
  84.                   TESTING PROCEDURE  . . . . . . . . . . . . . . . 3-3
  85.                   TESTING SETTING TAB STOPS  . . . . . . . . . . . 3-4
  86.                   Contents Of The Test . . . . . . . . . . . . . . 3-4
  87.                   Description Of The Actual Display  . . . . . . . 3-4
  88.                   TESTING CLEARING TAB STOPS . . . . . . . . . . . 3-5
  89.                   Contents Of The Test . . . . . . . . . . . . . . 3-5
  90.                   Description Of The Actual Display  . . . . . . . 3-5
  91.                   TESTING MOVING BY TAB STOPS  . . . . . . . . . . 3-6
  92.                   Contents Of The Test . . . . . . . . . . . . . . 3-6
  93.                   Description Of The Actual Display  . . . . . . . 3-6
  94.                   TESTING MOVING TO A NEW LINE . . . . . . . . . . 3-7
  95.                   Contents Of The Test . . . . . . . . . . . . . . 3-7
  96.                   Description Of The Actual Display  . . . . . . . 3-7
  97.                   TESTING MOVING TO A NEW PAGE . . . . . . . . . . 3-8
  98.                   Contents Of The Test . . . . . . . . . . . . . . 3-8
  99.                   Description Of The Actual Display  . . . . . . . 3-8
  100.                   TESTING WRITING CHARACTERS AND STRINGS TO THE 
  101.                   DISPLAY  . . . . . . . . . . . . . . . . . . . . 3-9
  102.                   Contents Of The Test . . . . . . . . . . . . . . 3-9
  103.                   Description Of The Actual Display  . . . . . . . 3-9
  104.                   TESTING READING CHARACTERS AND STRINGS FROM THE 
  105.                   KEYBOARD . . . . . . . . . . . . . . . . . . .  3-10
  106.                   Contents Of The Test . . . . . . . . . . . . .  3-10
  107.                   Description Of The Actual Display  . . . . . .  3-11
  108.                   TESTING RINGING THE TERMINAL'S BELL  . . . . .  3-12
  109.                   Contents Of The Test . . . . . . . . . . . . .  3-12
  110.                   Description Of The Actual Display  . . . . . .  3-12
  111.                   TESTING SETTING TAB STOPS  . . . . . . . . . .  3-13
  112.                   Contents Of The Test . . . . . . . . . . . . .  3-13
  113.                   Description Of The Actual Display  . . . . . .  3-13
  114.                                                                 Page 2
  115.  
  116.  
  117.                   TESTING CLEARING TAB STOPS . . . . . . . . . .  3-14
  118.                   Contents Of The Test . . . . . . . . . . . . .  3-14
  119.                   Description Of The Actual Display  . . . . . .  3-14
  120.                   TESTING MOVING TO A TAB STOP . . . . . . . . .  3-15
  121.                   Contents Of The Test . . . . . . . . . . . . .  3-15
  122.                   Description Of The Actual Display  . . . . . .  3-15
  123.                   TESTING MOVING TO A NEW LINE . . . . . . . . .  3-16
  124.                   Contents Of The Test . . . . . . . . . . . . .  3-16
  125.                   Description Of The Actual Display  . . . . . .  3-16
  126.                   TESTING MOVING TO A NEW PAGE . . . . . . . . .  3-17
  127.                   Contents Of The Test . . . . . . . . . . . . .  3-17
  128.                   Description Of The Actual Display  . . . . . .  3-17
  129.                   TESTING WRITING CHARACTERS AND STRINGS TO THE 
  130.                   DISPLAY  . . . . . . . . . . . . . . . . . . .  3-18
  131.                   Contents Of The Test . . . . . . . . . . . . .  3-18
  132.                   Description Of The Actual Display  . . . . . .  3-18
  133.                   TESTING READING CHARACTERS AND STRINGS FROM THE 
  134.                   KEYBOARD . . . . . . . . . . . . . . . . . . .  3-19
  135.                   Contents Of The Test . . . . . . . . . . . . .  3-19
  136.                   Description Of The Actual Display  . . . . . .  3-20
  137.                   TESTING RINGING THE TERMINAL'S BELL  . . . . .  3-21
  138.                   Contents Of The Test . . . . . . . . . . . . .  3-21
  139.                   Description Of The Actual Display  . . . . . .  3-21
  140.                   TESTING DELETING CHARACTERS FROM THE DISPLAY .  3-22
  141.                   Contents Of The Test . . . . . . . . . . . . .  3-22
  142.                   Description Of The Actual Display  . . . . . .  3-22
  143.                   TESTING DELETING LINES FROM THE DISPLAY  . . .  3-23
  144.                   Contents Of The Test . . . . . . . . . . . . .  3-23
  145.                   Description Of The Actual Display  . . . . . .  3-23
  146.                   TESTING ERASING CHARACTERS FROM THE DISPLAY  .  3-24
  147.                   Contents Of The Test . . . . . . . . . . . . .  3-24
  148.                   Description Of The Actual Display  . . . . . .  3-25
  149.                   TESTING ERASING BETWEEN SPECIFIC POSITIONS ON 
  150.                   THE DISPLAY  . . . . . . . . . . . . . . . . .  3-26
  151.                   Contents Of The Test . . . . . . . . . . . . .  3-26
  152.                   Description Of The Actual Display  . . . . . .  3-27
  153.                   TESTING INSERTING CHARACTERS ONTO THE DISPLAY   3-28
  154.                   Contents Of The Test . . . . . . . . . . . . .  3-28
  155.                   Description Of The Actual Display  . . . . . .  3-29
  156.                   TESTING INSERTING LINES ONTO THE DISPLAY . . .  3-30
  157.                   Contents Of The Test . . . . . . . . . . . . .  3-30
  158.                   Description Of The Actual Display  . . . . . .  3-30
  159.                   TESTING SETTING THE GRAPHIC RENDITION ON THE 
  160.                   DISPLAY  . . . . . . . . . . . . . . . . . . .  3-31
  161.                   Contents Of The Test . . . . . . . . . . . . .  3-31
  162.                   Description Of The Actual Display  . . . . . .  3-31
  163.                   TESTING DEFINING QUALIFIED AREAS ON THE DISPLAY 3-32
  164.                   Contents Of The Test . . . . . . . . . . . . .  3-32
  165.                   What The Tester Has To Type  . . . . . . . . .  3-32
  166.                   Description Of The Actual Display  . . . . . .  3-32
  167.                   TESTING CLEARING QUALIFIED AREAS ON THE DISPLAY 3-33
  168.                   Contents Of The Test . . . . . . . . . . . . .  3-33
  169.                   What The Tester Needs To Type  . . . . . . . .  3-33
  170.                   Description Of The Actual Display  . . . . . .  3-34
  171.                   TESTING MOVING BY TAB STOPS ON THE DISPLAY . .  3-35
  172.                                                                 Page 3
  173.  
  174.  
  175.                   Contents Of The Test . . . . . . . . . . . . .  3-35
  176.                   What The Tester Needs To Type  . . . . . . . .  3-35
  177.                   Description Of The Actual Display  . . . . . .  3-36
  178.                   TESTING ERASING BETWEEN SPECIFIED POSITIONS ON 
  179.                   THE DISPLAY  . . . . . . . . . . . . . . . . .  3-37
  180.                   Contents Of The Test . . . . . . . . . . . . .  3-37
  181.                   What The Tester Needs To Type  . . . . . . . .  3-37
  182.                   Description Of The Actual Display  . . . . . .  3-38
  183.                   TESTING READING CHARACTERS AND STRINGS FROM THE 
  184.                   DISPLAY BUFFER . . . . . . . . . . . . . . . .  3-39
  185.                   Contents Of The Test . . . . . . . . . . . . .  3-39
  186.                   What The Tester Needs To Type  . . . . . . . .  3-39
  187.                   Description Of The Actual Display  . . . . . .  3-40
  188.                   TESTING WRITING CHARACTERS AND STRINGS TO THE 
  189.                   DISPLAY BUFFER . . . . . . . . . . . . . . . .  3-41
  190.                   Contents Of The Test . . . . . . . . . . . . .  3-41
  191.                   What The Tester Needs To Type  . . . . . . . .  3-41
  192.                   Description Of The Actual Display  . . . . . .  3-41
  193.                   TESTING ACTIVATING A FORM FOR USER FILL IN . .  3-42
  194.                   Contents Of The Test . . . . . . . . . . . . .  3-42
  195.                   What The Tester Needs To Type  . . . . . . . .  3-42
  196.                   Description Of The Actual Display  . . . . . .  3-43
  197.  
  198.  
  199. CHAPTER 4       
  200.  
  201.                 TEST MANAGEMENT  . . . . . . . . . . . . . . . . . 4-1
  202.  
  203.  
  204. CHAPTER 5       
  205.  
  206.                 PERSONNEL REQUIREMENTS . . . . . . . . . . . . . . 5-1
  207.  
  208.  
  209. CHAPTER 6       
  210.  
  211.                 HARDWARE REQUIREMENTS  . . . . . . . . . . . . . . 6-1
  212.  
  213.  
  214. CHAPTER 7       
  215.  
  216.                 SOFTWARE REQUIREMENTS  . . . . . . . . . . . . . . 7-1
  217.  
  218.  
  219. CHAPTER 8       
  220.  
  221.                 TESTING SCHEDULE . . . . . . . . . . . . . . . . . 8-1
  222.  
  223.  
  224. CHAPTER 9       
  225.  
  226.                 QUALITY ASSURANCE  . . . . . . . . . . . . . . . . 9-1
  227.                                                                 Page 4
  228.  
  229.  
  230. APPENDIX A      TEST SPECIFICATIONS
  231.  
  232.                 SET_TAB  . . . . . . . . . . . . . . . . . . . . . A-2
  233.                   REQUIREMENTS MET BY TEST . . . . . . . . . . . . A-2
  234.                   DESCRIPTION OF TEST  . . . . . . . . . . . . . . A-2
  235.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . . . A-2
  236.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . . . A-2
  237.                 CLEAR_TAB  . . . . . . . . . . . . . . . . . . . . A-3
  238.                   REQUIREMENTS MET BY TEST . . . . . . . . . . . . A-3
  239.                   DESCRIPTION OF TEST  . . . . . . . . . . . . . . A-3
  240.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . . . A-3
  241.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . . . A-3
  242.                 TAB  . . . . . . . . . . . . . . . . . . . . . . . A-4
  243.                   REQUIREMENTS MET BY TEST . . . . . . . . . . . . A-4
  244.                   DESCRIPTION OF TEST  . . . . . . . . . . . . . . A-4
  245.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . . . A-4
  246.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . . . A-4
  247.                 NEW_LINE . . . . . . . . . . . . . . . . . . . . . A-5
  248.                   REQUIREMENTS MET BY TEST . . . . . . . . . . . . A-5
  249.                   DESCRIPTION OF TEST  . . . . . . . . . . . . . . A-5
  250.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . . . A-5
  251.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . . . A-5
  252.                 NEW_PAGE . . . . . . . . . . . . . . . . . . . . . A-6
  253.                   REQUIREMENTS MET BY TEST . . . . . . . . . . . . A-6
  254.                   DESCRIPTION OF TEST  . . . . . . . . . . . . . . A-6
  255.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . . . A-6
  256.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . . . A-6
  257.                 PUT  . . . . . . . . . . . . . . . . . . . . . . . A-7
  258.                   REQUIREMENTS MET BY TEST . . . . . . . . . . . . A-7
  259.                   DESCRIPTION OF TEST  . . . . . . . . . . . . . . A-7
  260.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . . . A-7
  261.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . . . A-7
  262.                 GET  . . . . . . . . . . . . . . . . . . . . . . . A-9
  263.                   REQUIREMENTS MET BY TEST . . . . . . . . . . . . A-9
  264.                   DESCRIPTION OF TEST  . . . . . . . . . . . . . . A-9
  265.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . . . A-9
  266.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . . . A-9
  267.                 BELL . . . . . . . . . . . . . . . . . . . . . .  A-11
  268.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-11
  269.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-11
  270.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-11
  271.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-11
  272.                 SET_TAB  . . . . . . . . . . . . . . . . . . . .  A-12
  273.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-12
  274.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-12
  275.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-12
  276.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-12
  277.                 CLEAR_TAB  . . . . . . . . . . . . . . . . . . .  A-13
  278.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-13
  279.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-13
  280.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-13
  281.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-13
  282.                 TAB  . . . . . . . . . . . . . . . . . . . . . .  A-14
  283.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-14
  284.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-14
  285.                                                                 Page 5
  286.  
  287.  
  288.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-14
  289.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-14
  290.                 NEW_LINE . . . . . . . . . . . . . . . . . . . .  A-15
  291.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-15
  292.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-15
  293.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-15
  294.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-15
  295.                 NEW_PAGE . . . . . . . . . . . . . . . . . . . .  A-16
  296.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-16
  297.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-16
  298.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-16
  299.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-16
  300.                 PUT  . . . . . . . . . . . . . . . . . . . . . .  A-17
  301.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-17
  302.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-17
  303.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-17
  304.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-17
  305.                 GET  . . . . . . . . . . . . . . . . . . . . . .  A-19
  306.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-19
  307.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-19
  308.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-19
  309.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-19
  310.                 DELETE_CHARACTER . . . . . . . . . . . . . . . .  A-21
  311.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-21
  312.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-21
  313.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-21
  314.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-21
  315.                 DELETE_LINE  . . . . . . . . . . . . . . . . . .  A-23
  316.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-23
  317.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-23
  318.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-23
  319.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-23
  320.                 ERASE_IN_DISPLAY . . . . . . . . . . . . . . . .  A-25
  321.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-25
  322.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-25
  323.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-25
  324.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-25
  325.                 ERASE_IN_LINE  . . . . . . . . . . . . . . . . .  A-27
  326.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-27
  327.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-27
  328.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-27
  329.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-27
  330.                 INSERT CHARACTERS  . . . . . . . . . . . . . . .  A-29
  331.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-29
  332.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-29
  333.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-29
  334.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-29
  335.                 INSERT_LINE  . . . . . . . . . . . . . . . . . .  A-31
  336.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-31
  337.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-31
  338.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-31
  339.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-31
  340.                 SELECT_GRAPHIC_RENDITION . . . . . . . . . . . .  A-33
  341.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-33
  342.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-33
  343.                                                                 Page 6
  344.  
  345.  
  346.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-33
  347.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-33
  348.                 BELL . . . . . . . . . . . . . . . . . . . . . .  A-34
  349.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-34
  350.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-34
  351.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-34
  352.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-34
  353.                 DEFINE_QUALIFIED_AREAS . . . . . . . . . . . . .  A-35
  354.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-35
  355.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-35
  356.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-35
  357.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-35
  358.                 CLEAR_QUALIFIED_AREAS  . . . . . . . . . . . . .  A-36
  359.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-36
  360.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-36
  361.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-36
  362.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-36
  363.                 TAB  . . . . . . . . . . . . . . . . . . . . . .  A-37
  364.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-37
  365.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-37
  366.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-37
  367.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-37
  368.                 GET  . . . . . . . . . . . . . . . . . . . . . .  A-38
  369.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-38
  370.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-38
  371.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-38
  372.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-38
  373.                 ERASE_AREA . . . . . . . . . . . . . . . . . . .  A-39
  374.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-39
  375.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-39
  376.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-39
  377.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-39
  378.                 ERASE_DISPLAY  . . . . . . . . . . . . . . . . .  A-40
  379.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-40
  380.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-40
  381.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-40
  382.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-40
  383.                 ACTIVATE_FORM  . . . . . . . . . . . . . . . . .  A-41
  384.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-41
  385.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-41
  386.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-41
  387.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-41
  388.                 PUT  . . . . . . . . . . . . . . . . . . . . . .  A-43
  389.                   REQUIREMENTS MET BY TEST . . . . . . . . . . .  A-43
  390.                   DESCRIPTION OF TEST  . . . . . . . . . . . . .  A-43
  391.                   ASSUMPTIONS  . . . . . . . . . . . . . . . . .  A-43
  392.                   TEST SYNOPSIS  . . . . . . . . . . . . . . . .  A-43
  393.  
  394.  
  395. APPENDIX B      MATRICES
  396.  
  397.                                                                 Page 7
  398.  
  399.  
  400. APPENDIX C      GLOSSARY
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.                                  CHAPTER 1
  413.  
  414.  
  415.  
  416.  
  417.      1.1  INTRODUCTION
  418.  
  419.      1.2  PURPOSE
  420.  
  421.           This Computer Program Test Procedures document describes the
  422.      acceptance test procedures for the ANSI X3.64 Compatible Virtual
  423.      Terminal computer program.  This research and development is being
  424.      done for the Naval Ocean Systems Center (NOSC) under contract
  425.      N66001-84-R0030.  Within this document, the ANSI X3.64 Compatible
  426.      Virtual Terminal is referred to as the Virtual Terminal.
  427.  
  428.           This acceptance test procedures document has been prepared in
  429.      accordance with the Navy Data Item Description for a Computer Program
  430.      Test Procedures document [NAV78A].
  431.  
  432.      1.3  SCOPE
  433.  
  434.           This document describes the procedures for testing the Virtual
  435.      Terminal after it is developed.  The test procedures defined in this
  436.      document will show compliance with the requirements of the Proposal to
  437.      Design and Implement an ANSI X3.64 Compatible Virtual Terminal in Ada
  438.      [TI84].
  439.  
  440.      1.4  SUMMARY
  441.  
  442.           The objective of this document is to explain the test procedures
  443.      that are necessary for acceptance testing of the Virtual Terminal.
  444.      Acceptance testing will demonstrate that the requirements of the
  445.      Proposal to Design and Implement a Virtual Terminal in Ada [TI84] have
  446.      been satisfied.  A list of the requirements that must be verified is
  447.      provided in the Requirements Cross Reference Matrix in Appendix B.
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.                                  1-1
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.                                  CHAPTER 2
  470.  
  471.  
  472.  
  473.  
  474.      2.1  APPLICABLE DOCUMENTS
  475.  
  476.       [BEI84]  Beizer, Borix, Software System Testing and Quality
  477.                Assurance, Van Nostrand Reinhold Co., New York, 1984.
  478.  
  479.       [BRU82]  Bruce, Phillip and Sam M.  Pederson, The Software
  480.                Development Project, John Wiley and Sons, Inc., New York,
  481.                1982.
  482.  
  483.       [EVA84]  Evans, Michael W., Productive Software Test Management, John
  484.                Wiley and Sons, Inc., New York, 1984.
  485.  
  486.       [MYE79]  Myers, Glenford J., The Art of Software Testing, John Wiley
  487.                and Sons, Inc., New York, 1979.
  488.  
  489.       [NAV78A] Navy, "Data Item Description, Computer Program Test
  490.                Procedures", Navy DI-T2144, 29 November 1978.
  491.  
  492.       [TI84 ]  Texas Instruments, "Proposal to Design and Implement an ANSI
  493.                X3.64 Compatible Virtual Terminal in Ada", Lewisville, Tx,
  494.                January 1984.
  495.  
  496.       [NAV78B] Navy, "Data Item Description, Computer Program Test
  497.                Specifications", Navy DI-E-2143, 29 November 1978.
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.                                  2-1
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.                                  CHAPTER 3
  527.  
  528.  
  529.  
  530.  
  531.      3.1  TESTING REQUIREMENTS
  532.  
  533.      3.2  GENERAL
  534.  
  535.           Acceptance testing of the Virtual Terminal must verify the
  536.      requirements in the proposal [TI84] for the Virtual Terminal.  A
  537.      summary of the requirements from the proposal document is provided in
  538.      Appendix B in the Requirements Cross Reference Matrix.  Verifying that
  539.      the requirements have been satisfied is a process involving three main
  540.      steps.  A description of each step is given below.
  541.  
  542.      1.  Develop Test Specifications - The first step is to develop test
  543.          specifications based on the requirements.  The test specifications
  544.          outline the testing criteria that is necessary to show that the
  545.          Virtual Terminal satisfies its original objectives.  Appendix A
  546.          contains the test specifications for the Virtual Terminal.
  547.  
  548.      2.  Create Test Data - The second step is to create test data to
  549.          satisfy the test specifications.  The data is a series of Ada
  550.          source programs which will fully test the requirements stated in
  551.          the proposal.  These programs will be used as input to the Virtual
  552.          Terminal.
  553.  
  554.      3.  Analyze Results - The third step is to conduct testing and analyze
  555.          the results.  The Virtual Terminal is executed with the test data
  556.          that was created in step 2.  The results are analyzed and the
  557.          appropriate matrices are updated.
  558.  
  559.  
  560.           Located in Appendix B are two matrices developed to assist the
  561.      reader of this document.  The first matrix indicates each Test
  562.      Specification and the requirements it deals with.  The second matrix
  563.      denotes each of the requirements listed in the proposal and the
  564.      location ,within this document, of the Test Procedure which satisfies
  565.      the particular requirement.
  566.  
  567.  
  568.  
  569.  
  570.  
  571.                                  3-1
  572.  
  573.  
  574.           Some of the ideas from Myers [MYE79] were used to facilitate the
  575.      development of the test specifications.  Specifically, three
  576.      acceptance test categories (facility, volume, and usability) defined
  577.      by Myers were used to help define the test specifications.  Myers'
  578.      definitions for facility testing, volume testing, and usability
  579.      testing are provided below.
  580.  
  581.      Facility    Facility testing is the determination of whether each
  582.                  facility or function is actually implemented.  The
  583.                  procedure is to scan the requirements sentence by sentence
  584.                  and when the sentence specifies a "what" (e.g., "syntax
  585.                  should be consistent ...", "user should be able to specify
  586.                  a range of locations ..."), determine if the program
  587.                  satisfies the "what".
  588.  
  589.      Volume      Volume testing is subjecting the program to heavy volumes
  590.                  of data.  For instance, a compiler would be fed an
  591.                  absurdly large source program to compile.  A linkage
  592.                  editor might be fed a program containing thousands of
  593.                  modules.  An operating system's job queue would be filled
  594.                  to capacity.  In other words, the purpose of volume
  595.                  testing is to show that the program cannot handle the
  596.                  volume of data specified in its requirements.
  597.  
  598.      Usability   Usability testing is an attempt to find human-factor, or
  599.                  usability problems.  Unfortunately, since the computing
  600.                  industry has placed insufficient attention on studying and
  601.                  defining good human-factor considerations of programming
  602.                  systems, an analysis of human factors is still a highly
  603.                  subjective matter.
  604.  
  605.  
  606.  
  607.       3.3  VIRTUAL TERMINAL ACCEPTANCE/PREOPERATING PROCEDURES
  608.  
  609.            The following paragraphs explain the necessary preparations and
  610.       procedures for acceptance testing of the Virtual Terminal.
  611.  
  612.       3.3.1  EQUIPMENT PREPARATION
  613.  
  614.            In order to complete acceptance testing, the Virtual Terminal
  615.       must be available on a Data General MV 10,000 running under AOS/VS.
  616.  
  617.       3.3.2  DIGITAL PROCESSOR PREPARATION
  618.  
  619.            In order to complete acceptance testing, the ROLM/Data General
  620.       Ada Development Environment (ADE) must be available.
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.                                  3-2
  629.  
  630.  
  631.       3.3.3  TESTING PROCEDURE
  632.  
  633.            The procedure for acceptance testing is to fulfill all the test
  634.       specifications in Appendix A.  This can be accomplished by completing
  635.       the second and third steps from Section 3.1.
  636.  
  637.            The remainder of this section contains the Test Procedures which
  638.       ,when implemented, will fully test the Virtual Terminal.  Each
  639.       procedure references the Test Specification Matrix located in
  640.       Appendix A where more information is located.
  641.  
  642.            As noted in step 2, input files for the Virtual Terminal (Ada
  643.       source programs) must be created to satisfy all of the test
  644.       specifications in Appendix A.  Then, when the Virtual Terminal is
  645.       ready to undergo acceptance testing, step 3 is started.  Thus, the
  646.       input files are executed.  The expected output is somewhat difficult
  647.       to analyze since it deals entirely with a display and not specific
  648.       output files.
  649.  
  650.                                       NOTE
  651.  
  652.               One Ada source program may be used to satisfy a
  653.               number of test specifications in Appendix A.  In
  654.               other words, it is not necessary to create a separate
  655.               input file for each test specification in Appendix A.
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.                                  3-3
  686.  
  687.  
  688.      3.3.3.1  TESTING SETTING TAB STOPS
  689.  
  690.      3.3.3.1.1  Contents Of The Test
  691.  
  692.           The following test procedure consists of a segment of Ada
  693.      procedure calls which tests the set_tab and moving by tabs
  694.      requirements.
  695.  
  696.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  697.      the display to signal where the cursor was located at a certain point
  698.      in the test.
  699.  
  700.         set_position( 5 ) ;
  701.         set_tab ;
  702.         
  703.         set_position( 15 ) ;   
  704.         set_tab ;
  705.  
  706.         new_line ;
  707.         tab ;
  708.         put('C') ;             --'C' should be in col 5
  709.         update_line ;
  710.  
  711.         tab ;
  712.         put('C') ;             --'C' should be in col 15
  713.         update_line ;
  714.  
  715.  
  716.      3.3.3.1.2  Description Of The Actual Display
  717.  
  718.           After the first update_line, a 'C' should be located in the 5th
  719.      column of the display, after the second update line a 'C' should be
  720.      located in column 15.  Therefore the set_tab procedure correctly
  721.      places tab stops where the act.  pos.  is located, and the procedure
  722.      tab moves to these positions as indicated.
  723.  
  724.  
  725.      Matrix entry number:  A-1
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.  
  734.  
  735.  
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.                                  3-4
  743.  
  744.  
  745.      3.3.3.2  TESTING CLEARING TAB STOPS
  746.  
  747.      3.3.3.2.1  Contents Of The Test
  748.  
  749.           The following test procedure consists of a segment of Ada
  750.      procedure calls which tests the clear_tab and moving by tabs
  751.      requirements.
  752.  
  753.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted
  754.      into the display to indicate where the cursor was located at a certain
  755.      point in the test.
  756.  
  757.         set_position( 5 ) ;
  758.         set_tab ;
  759.         put('C') ;         --tab stop will be located at the 'C'
  760.         
  761.         new_line ;         --new_line has an implicit call on update_line
  762.         tab ;
  763.         update_line ;      --cursor will be in column 5
  764.  
  765.         clear_tab ;        --clears tab in column 5
  766.         new_line ;         --positions cursor at beginning of next line   
  767.         tab ;
  768.         put('C') ;         --'C' will be in 1st col of next line
  769.  
  770.  
  771.      3.3.3.2.2  Description Of The Actual Display
  772.  
  773.           After the first new_line, a 'C' will be located at the tab stop
  774.      in the 5th column of the first line, when the final call on tab is
  775.      performed the cursor will be left at the beginning of the next line
  776.      since no tab stops are present on the line.  There will be 1 blank
  777.      line between 'C's.
  778.  
  779.  
  780.      Matrix entry number:  A-2
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.                                  3-5
  800.  
  801.  
  802.      3.3.3.3  TESTING MOVING BY TAB STOPS
  803.  
  804.      3.3.3.3.1  Contents Of The Test
  805.  
  806.           The following test procedure consists of a segment of Ada
  807.      procedure calls which tests the moving by tabs and the setting tab
  808.      stops requirements.
  809.  
  810.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  811.      the display to indicate where the cursor was located at a certain
  812.      point in the test.
  813.  
  814.         put( "Here I am." ) ;  --to help keep track of your orig. position
  815.         new_line( 2 ) ;       --puts act. pos. at beginning of next line
  816.         tab ;            
  817.         put('C') ;       --cursor should be at the beginning of next line
  818.  
  819.         set_position( 10 ) ;  --act. pos. in col 10
  820.         set_tab ;
  821.         new_line ;
  822.         tab ;
  823.         put('C') ;       --'C' will be in col 10 
  824.         update_line ;    
  825.  
  826.         set_position( 15 ) ;  --position act. pos. past tab stop
  827.         tab ;
  828.         update_line ;    --no operation will occur 
  829.         
  830.         new_line ;
  831.         tab( 3 ) ;
  832.         put('C') ;
  833.         update_line ;    --only one tab stop has been set so that's all that
  834.                          --will be invoked
  835.  
  836.  
  837.      3.3.3.3.2  Description Of The Actual Display
  838.  
  839.           There will be 1 blank line between 'Here I am.' and the first
  840.      'C'.  The following line will contain a 'C' in column 10.  The next
  841.      line will contain a 'C' in column 10, on the next line.
  842.  
  843.  
  844.      Matrix entry number:  A-3
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.                                  3-6
  857.  
  858.  
  859.      3.3.3.4  TESTING MOVING TO A NEW LINE
  860.  
  861.      3.3.3.4.1  Contents Of The Test
  862.  
  863.           The following test procedure consists of a segment of Ada
  864.      procedure calls which tests the moving to a new line and moving to a
  865.      tab stop requirements.
  866.  
  867.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  868.      the display to signal where the cursor was located at a certain point
  869.      in the test.
  870.  
  871.         put( "Here I am." ) ;  --to help keep track of the number of new lines
  872.         set_position( 15 ) ; 
  873.         new_line ;             --cursor will be at the beginning of next line
  874.         put( 'C' ) ;
  875.        
  876.         set_position( 10 ) ;
  877.         set_tab ;
  878.         new_line ;
  879.         tab ;
  880.         put('C') ;      --cursor will be in col 10
  881.  
  882.         new_line( 3 ) ;
  883.         put('C') ;      --cursor will be in col 1
  884.         update_line ;
  885.  
  886.  
  887.      3.3.3.4.2  Description Of The Actual Display
  888.  
  889.           The first 'C' will be located in column 1 of the line below 'Here
  890.      I am.'.  The second 'C' will be found in column 10 of the line below
  891.      the first 'C'.  Newline is then called with a parameter of 3, the last
  892.      'C' will be located in column 1, 3 lines below the last 'C'(two blank
  893.      lines will separate the 'C's.  The cursor will be located just past
  894.      the last 'C'.
  895.  
  896.  
  897.      Matrix entry number:  A-4
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.                                  3-7
  914.  
  915.  
  916.      3.3.3.5  TESTING MOVING TO A NEW PAGE
  917.  
  918.      3.3.3.5.1  Contents Of The Test
  919.  
  920.           The following test procedure consists of a segment of Ada
  921.      procedure calls which test the moving to a new page requirement( if
  922.      your terminal supports this function).
  923.  
  924.             ____          **Note:  An uppercase 'C' will be inserted, where appropriate, in
  925.      the display to signal where the cursor was located at a certain point
  926.      in the test.
  927.  
  928.         put( "Here I am." ) ;  --to help keep track of your original position
  929.         set_position( 15 ) ;     
  930.         new_page ;             --call new page from the middle of a line
  931.                                --notice the default is 1 for new page
  932.         put( 'C' ) ;           --cursor will be at the beginning of next page
  933.  
  934.        
  935.         new_page( 2 ) ;        --2 new pages will be performed
  936.         put( 'C' ) ;          
  937.         update_line ;
  938.  
  939.  
  940.      3.3.3.5.2  Description Of The Actual Display
  941.  
  942.           The 'C' will be located at the beginning of a new page.  'Here I
  943.      am.' will be shown on the actual display since newpage does an
  944.      implicit call on updateline.  The second 'C' will be located at the
  945.      beginning of the another page.  New_page is defined as an ascii form
  946.      feed and cannot be changed.
  947.  
  948.  
  949.      Matrix entry number:  A-5
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.                                  3-8
  971.  
  972.  
  973.      3.3.3.6  TESTING WRITING CHARACTERS AND STRINGS TO THE DISPLAY
  974.  
  975.      3.3.3.6.1  Contents Of The Test
  976.  
  977.           The following test procedure consists of a segment of Ada
  978.      procedure calls which test the writing chars and strings to the
  979.      display requirement.
  980.  
  981.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  982.      the display to indicate where the cursor was located at a certain
  983.      point in the test.
  984.  
  985.         put('x') ;             --act. pos. will be just past 'x'
  986.         update_line ;
  987.  
  988.         set_position( 10 ) ;
  989.         put( "Here I am." ) ;  
  990.  
  991.         set_position( 60 ) ;
  992.         put( "The end of this string will be lost." ) ;
  993.           
  994.  
  995.      3.3.3.6.2  Description Of The Actual Display
  996.  
  997.           The 'x' will be in column 1, the next string will start in column
  998.      10.  The last string will be written to the display but when the
  999.      column number reaches it's maximum, the remaining chars will be lost.
  1000.  
  1001.  
  1002.      Matrix entry number:  A-6
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.                                  3-9
  1028.  
  1029.  
  1030.      3.3.3.7  TESTING READING CHARACTERS AND STRINGS FROM THE KEYBOARD
  1031.  
  1032.      3.3.3.7.1  Contents Of The Test
  1033.  
  1034.           The following test procedure consists of a segment of Ada
  1035.      procedure calls which test the reading chars and strings from the
  1036.      keyboard requirement.  This requirement is implementation dependent.
  1037.      The number of key strokes returned from a call on get may vary from a
  1038.      single key to many keys depending on the machine the VT is hosted on.
  1039.      Because of these implementation restraints, outer loops may be needed(
  1040.      as shown ) to extract all the key strokes from the keyboard.
  1041.      Write_to_screen will be a procedure used to display the contents of
  1042.      variables on the screen so the person performing these tests will be
  1043.      able to see the results immediately.  The user will have to type a '#'
  1044.      key to exit from each test loop.
  1045.  
  1046.                                       NOTE
  1047.  
  1048.              There are several procedures used here which are not
  1049.              defined.  They will be developed when the test
  1050.              procedures are conducted.
  1051.  
  1052.  
  1053.  
  1054.         procedure do_get ;
  1055.          
  1056.           loop
  1057.              get(data, last, keys, timeout) ;
  1058.              num_of_function_keys := function_count( keys ) ;
  1059.         
  1060.              if last = 0
  1061.              then
  1062.                 if num_of_function_keys = 0
  1063.                 then  null ;
  1064.                 else
  1065.                     for index in 1 .. num_of_function_keys 
  1066.                         loop
  1067.                         function_key( keys, index, id, position ) ;
  1068.                         handle_the_function_key( id ) ;
  1069.                         end loop ;
  1070.                 end if ;
  1071.               else
  1072.                 if num_of_function_keys = 0
  1073.                 then  handle_the_string( data, last ) ;
  1074.                 else
  1075.                     last_position := 1 ;
  1076.                     for index in 1 .. num_of_function_keys 
  1077.                     loop
  1078.                        function_key( keys, i, id, position ) ;
  1079.                        if position <> 0
  1080.                        then
  1081.                          handle_the_string( 
  1082.                                   data(last_position .. position ),
  1083.  
  1084.                                  3-10
  1085.  
  1086.  
  1087.                                   (position - last_position + 1) 
  1088.                                           ) ;
  1089.                          last_position := position + 1 ;
  1090.                        end if ;
  1091.                        handle_the_function_key( id ) ;
  1092.                     end loop ;
  1093.                   end if ;
  1094.  
  1095.                 if last /= 0
  1096.                 then exit when data(last) = '#' ;
  1097.                 end if ;
  1098.  
  1099.             end loop ;
  1100.          --******************************************************
  1101.  
  1102.          get( data, last, keys ) ;  --clear out any garbage
  1103.  
  1104.        
  1105.          --*** You must type in a '#' after each series of input chars ***
  1106.  
  1107.  
  1108.          do_get ;      --type in just chars 
  1109.  
  1110.          do_get ;      --type in just function keys       
  1111.           
  1112.          do_get ;      --type in chars first then function keys
  1113.  
  1114.          do_get ;      --type in function keys first then chars
  1115.        
  1116.          do_get ;      --type in chars and function keys intermixed
  1117.       
  1118.                 
  1119.  
  1120.      3.3.3.7.2  Description Of The Actual Display
  1121.  
  1122.           The actual display will not be affected by these tests.  The get
  1123.      procedure only deals with information coming from the keyboard and
  1124.      does not change the virtual or actual display.  But to display the
  1125.      incoming characters and function keys they will be output to the
  1126.      screen in some manner to be decided later.
  1127.  
  1128.  
  1129.      Matrix entry number:  A-7
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.                                  3-11
  1142.  
  1143.  
  1144.      3.3.3.8  TESTING RINGING THE TERMINAL'S BELL
  1145.  
  1146.      3.3.3.8.1  Contents Of The Test
  1147.  
  1148.           The following test procedure consists of a segment of Ada
  1149.      procedure calls which test the ringing the terminal's bell
  1150.      requirement.
  1151.  
  1152.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  1153.      the display to indicate where the cursor was located at a certain
  1154.      point in the test.
  1155.  
  1156.         bell ;
  1157.  
  1158.         put('Ring the bell.') ;    
  1159.         bell ;
  1160.         update_line ;
  1161.           
  1162.  
  1163.      3.3.3.8.2  Description Of The Actual Display
  1164.  
  1165.           The bell, as it is described in the TCF, will be rung twice, with
  1166.      a line of data in between.
  1167.  
  1168.  
  1169.      Matrix entry number:  A-8
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.                                  3-12
  1199.  
  1200.  
  1201.      3.3.3.9  TESTING SETTING TAB STOPS
  1202.  
  1203.      3.3.3.9.1  Contents Of The Test
  1204.  
  1205.           The following test procedure consists of a segment of Ada
  1206.      procedure calls which tests the set_tab and moving by tabs
  1207.      requirements.
  1208.  
  1209.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  1210.      the display to siganl where the cursor was located at a certain point
  1211.      in the test.
  1212.  
  1213.         set_position( 5, 15 ) ;
  1214.         set_tab ;
  1215.         
  1216.         set_position( 15, 25 ) ;   
  1217.         set_tab ;
  1218.  
  1219.         set_position( 10, 1 ) ;       --act. pos. will be in col 1 of line 16
  1220.         tab ;
  1221.         put('C') ;             --'C' should be in col 15
  1222.  
  1223.         tab ;
  1224.         put('C') ;             --'C' should be in col 25
  1225.         update_screen_with_movement ;
  1226.  
  1227.  
  1228.      3.3.3.9.2  Description Of The Actual Display
  1229.  
  1230.           After the update screen, a 'C' should be located in the 15th
  1231.      column of the display and a 'C' should be located in column 25 of the
  1232.      16th line.  Therefore the set_tab procedure correctly places tab stops
  1233.      where the act.  pos.  is located, and the procedure tab moves to these
  1234.      positions as indicated.
  1235.  
  1236.  
  1237.      Matrix entry number:  A-9
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.                                  3-13
  1256.  
  1257.  
  1258.      3.3.3.10  TESTING CLEARING TAB STOPS
  1259.  
  1260.      3.3.3.10.1  Contents Of The Test
  1261.  
  1262.           The following test procedure consists of a segment of Ada
  1263.      procedure calls which tests the clear_tab and moving by tabs
  1264.      requirements.
  1265.  
  1266.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted
  1267.      into the display to indicate where the cursor was located at a certain
  1268.      point in the test.
  1269.  
  1270.         set_position( 5, 15 ) ;
  1271.         set_tab ;
  1272.         set_position( 5, 25 ) ;
  1273.         set_tab ;
  1274.         
  1275.         set_position( 10, 1 ) ;
  1276.         tab ; put('C') ;
  1277.         tab ; put('C') ;
  1278.  
  1279.         set_position( 17, 1 ) ;
  1280.         tab ;
  1281.         clear_tab ;        --clears tab in column 15
  1282.         insert_line ;      --positions cursor at beginning of new line   
  1283.         tab ;              --no operation will occur
  1284.         put('C') ;    
  1285.         update_screen_with_movement ;
  1286.  
  1287.  
  1288.      3.3.3.10.2  Description Of The Actual Display
  1289.  
  1290.           After the first update_line, a 'C' will be located at the tab
  1291.      stop in the 15th and 25th column of the tenth line, when the final
  1292.      call on tab is performed the cursor will be at the 25th column since
  1293.      the first tab stop has been erased.
  1294.  
  1295.  
  1296.      Matrix entry number:  A-10
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.                                  3-14
  1313.  
  1314.  
  1315.      3.3.3.11  TESTING MOVING TO A TAB STOP
  1316.  
  1317.      3.3.3.11.1  Contents Of The Test
  1318.  
  1319.           The following test procedure consists of a segment of Ada
  1320.      procedure calls which tests the moving by tabs and the setting tab
  1321.      stops requirements.
  1322.  
  1323.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  1324.      the display to indicate where the cursor was located at a certain
  1325.      point in the test.
  1326.  
  1327.         put( "Here I am." ) ;  --to help keep track of your orig. position
  1328.         insert_line ;       --puts act. pos. at beginning of new line
  1329.         tab ;            --no operation will occur
  1330.       
  1331.         set_position( 2, 5 ) ;  --act. pos. in col 5
  1332.         set_tab ;
  1333.         set_position( 2, 25) ;
  1334.         set_tab ;
  1335.         set_position( 18, 1 ) ;
  1336.         tab( 2 ) ;
  1337.         put('C') ;       --'C' will be in col 25 of line 18 
  1338.         update_line ;    
  1339.  
  1340.         set_position( 19, 1 ) ;  
  1341.         tab ;
  1342.         put('C') ;       
  1343.         update_screen_with_movement ;
  1344.         
  1345.  
  1346.      3.3.3.11.2  Description Of The Actual Display
  1347.  
  1348.           No operation will occur after the first call on tab since there
  1349.      where no tab stops set.  Then a call on tab(2) will position the
  1350.      cursor at col.  25 (two tabs stops from col 1).  The final call on tab
  1351.      will move the cursor to column 5.
  1352.  
  1353.  
  1354.      Matrix entry number:  A-11
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.                                  3-15
  1370.  
  1371.  
  1372.      3.3.3.12  TESTING MOVING TO A NEW LINE
  1373.  
  1374.      3.3.3.12.1  Contents Of The Test
  1375.  
  1376.           The following test procedure consists of a segment of Ada
  1377.      procedure calls which tests the moving to a new line and moving to a
  1378.      tab stop requirements.
  1379.  
  1380.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  1381.      the display to signal where the cursor was located at a certain point
  1382.      in the test.
  1383.  
  1384.         put( "Here I am." ) ;  --to help keep track of the number of new lines
  1385.         set_position( 1, 1 ) ; 
  1386.         insert_line ;          --cursor will be at the beginning of next line
  1387.          
  1388.         set_position(1,1) ;
  1389.         insert_line( 3 ) ;
  1390.         set_position(24, 1) ;
  1391.         put("This the bottom line") ;
  1392.         update_screen_with_movement ;
  1393.  
  1394.         set_position( 12, 60 )  -- any position will fo
  1395.         insert_line ;
  1396.         update_screen_with_movement ; 
  1397.  
  1398.      3.3.3.12.2  Description Of The Actual Display
  1399.  
  1400.           First a line is written on the top of the display.  A single line
  1401.      is inserted above it , then 3 lines are inserted above it.  The screen
  1402.      scrolls down as lines are inserted.  A line is then printed on the
  1403.      bottom row.  A call on insertline pushes the bottom row off the
  1404.      display, it is lost.
  1405.  
  1406.  
  1407.      Matrix entry number:  A-12
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.                                  3-16
  1427.  
  1428.  
  1429.      3.3.3.13  TESTING MOVING TO A NEW PAGE
  1430.  
  1431.      3.3.3.13.1  Contents Of The Test
  1432.  
  1433.           The following test procedure consists of a segment of Ada
  1434.      procedure calls which test the moving to a new page requirement.
  1435.  
  1436.             ____          **Note:  An uppercase 'C' will be inserted, where appropriate, in
  1437.      the display to signal where the cursor was located at a certain point
  1438.      in the test.
  1439.  
  1440.         put( "Here I am." ) ;  --to help keep track of your original position
  1441.         set_position( 15, 5 ) ;     
  1442.         
  1443.         erase_in_display( all_positions ) ;    --these two statements 
  1444.         set_position( 1, 1 ) ;                 --perform the new page
  1445.  
  1446.         set_position( 24, 1 ) ;
  1447.         put("This is a new page.") ; 
  1448.         update_screen_with_movement ;
  1449.  
  1450.        
  1451.  
  1452.      3.3.3.13.2  Description Of The Actual Display
  1453.  
  1454.           The line output will be located at the bottom of the new page.
  1455.  
  1456.      ***note -- page terminal does not have a new_page procedure but it can
  1457.      be easily accomplished using the above technique.
  1458.  
  1459.  
  1460.      Matrix entry number:  A-13
  1461.  
  1462.  
  1463.  
  1464.  
  1465.  
  1466.  
  1467.  
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.                                  3-17
  1484.  
  1485.  
  1486.      3.3.3.14  TESTING WRITING CHARACTERS AND STRINGS TO THE DISPLAY
  1487.  
  1488.      3.3.3.14.1  Contents Of The Test
  1489.  
  1490.           The following test procedure consists of a segment of Ada
  1491.      procedure calls which test the writing chars and strings to the
  1492.      display requirement.
  1493.  
  1494.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  1495.      the display to indicate where the cursor was located at a certain
  1496.      point in the test.
  1497.  
  1498.         set_position( 5, 1 ) ;
  1499.         put('x') ;             --act. pos. will be just past 'x'
  1500.         update_line ;
  1501.  
  1502.         set_position( 1, 1 ) ;
  1503.         put( "Here I am." ) ;  
  1504.  
  1505.         set_position( 15, 60 ) ;
  1506.         put( "The end of this string will be lost." ) ;
  1507.         update_screen_with_movement ;
  1508.  
  1509.      3.3.3.14.2  Description Of The Actual Display
  1510.  
  1511.           The 'x' will be in column 1 of line 5, the first string will
  1512.      start in column 1 of line 1.  The last string will be written to the
  1513.      display but when the column number reaches it's maximum, the remaining
  1514.      chars will be lost.  This might be dependent upon the terminal which
  1515.      the user is working on so the final test of this procedure might not
  1516.      be performed.
  1517.  
  1518.  
  1519.      Matrix entry number:  A-14
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536.  
  1537.  
  1538.  
  1539.  
  1540.                                  3-18
  1541.  
  1542.  
  1543.      3.3.3.15  TESTING READING CHARACTERS AND STRINGS FROM THE KEYBOARD
  1544.  
  1545.      3.3.3.15.1  Contents Of The Test
  1546.  
  1547.           The following test procedure consists of a segment of Ada
  1548.      procedure calls which test the reading chars and strings from the
  1549.      keyboard requirement.  This requirement is implementation dependent.
  1550.      The number of key strokes returned from a call on get may vary from a
  1551.      single key to many keys depending on the machine the VT is hosted on.
  1552.      Because of these implementation restraints, outer loops may be needed(
  1553.      as shown ) to extract all the key strokes from the keyboard.
  1554.      Write_to_screen will be a procedure used to display the contents of
  1555.      variables on the screen so the person performing these tests will be
  1556.      able to see the results immediately.  The user will have to type a '#'
  1557.      key to exit from each test loop.
  1558.  
  1559.                                       NOTE
  1560.  
  1561.              There are several procedures used here which are not
  1562.              defined.  They will be developed when the test
  1563.              procedures are developed.
  1564.  
  1565.  
  1566.  
  1567.         procedure do_get ;
  1568.          
  1569.           loop
  1570.              get(data, last, keys, timeout) ;
  1571.              num_of_function_keys := function_count( keys ) ;
  1572.         
  1573.              if last = 0
  1574.              then
  1575.                 if num_of_function_keys = 0
  1576.                 then  null ;
  1577.                 else
  1578.                     for index in 1 .. num_of_function_keys 
  1579.                         loop
  1580.                         function_key( keys, index, id, position ) ;
  1581.                         handle_the_function_key( id ) ;
  1582.                         end loop ;
  1583.                 end if ;
  1584.               else
  1585.                 if num_of_function_keys = 0
  1586.                 then  handle_the_string( data, last ) ;
  1587.                 else
  1588.                     last_position := 1 ;
  1589.                     for index in 1 .. num_of_function_keys 
  1590.                     loop
  1591.                        function_key( keys, i, id, position ) ;
  1592.                        if position <> 0
  1593.                        then
  1594.                          handle_the_string( 
  1595.                                   data(last_position .. position ),
  1596.  
  1597.                                  3-19
  1598.  
  1599.  
  1600.                                   (position - last_position + 1) 
  1601.                                           ) ;
  1602.                          last_position := position + 1 ;
  1603.                        end if ;
  1604.                        handle_the_function_key( id ) ;
  1605.                     end loop ;
  1606.                   end if ;
  1607.               if last /= 0
  1608.               then  exit when data(last) ='#'
  1609.               end if ;
  1610.  
  1611.             end loop ;
  1612.          --******************************************************
  1613.  
  1614.            get( data, last, keys ) ;  --clear out any garbage
  1615.        
  1616.          --*** You must type in a '#' after each series of input chars ***
  1617.  
  1618.  
  1619.          do_get ;      --type in just chars 
  1620.  
  1621.          do_get ;      --type in just function keys       
  1622.           
  1623.          do_get ;      --type in chars first then function keys
  1624.  
  1625.          do_get ;      --type in function keys first then chars
  1626.        
  1627.          do_get ;      --type in chars and function keys intermixed
  1628.       
  1629.                 
  1630.  
  1631.      3.3.3.15.2  Description Of The Actual Display
  1632.  
  1633.           The actual display will not be affected by the 'get'.  The 'get'
  1634.      procedure only deals with information coming from the keyboard and
  1635.      does not change the virtual or actual display, but to hsow the user
  1636.      that the 'get' procedure is working properly, the incoming keys will
  1637.      be displayed by this test procedure in a manner which will be decided
  1638.      later.
  1639.  
  1640.  
  1641.      Matrix entry number:  A-15
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654.                                  3-20
  1655.  
  1656.  
  1657.      3.3.3.16  TESTING RINGING THE TERMINAL'S BELL
  1658.  
  1659.      3.3.3.16.1  Contents Of The Test
  1660.  
  1661.           The following test procedure consists of a segment of Ada
  1662.      procedure calls which test the ringing the terminal's bell
  1663.      requirement.
  1664.  
  1665.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  1666.      the display to indicate where the cursor was located at a certain
  1667.      point in the test.
  1668.  
  1669.  
  1670.         put("Ring the bell.") ;    
  1671.         bell; bell ;  bell ;
  1672.         update_line ;
  1673.           
  1674.  
  1675.      3.3.3.16.2  Description Of The Actual Display
  1676.  
  1677.           The bell, as it is described in the TCF, will be rung three
  1678.      times.
  1679.  
  1680.  
  1681.      Matrix entry number:  A-23
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.                                  3-21
  1712.  
  1713.  
  1714.      3.3.3.17  TESTING DELETING CHARACTERS FROM THE DISPLAY
  1715.  
  1716.      3.3.3.17.1  Contents Of The Test
  1717.  
  1718.           The following test procedure consists of a segment of Ada
  1719.      procedure calls which test the deleting characters from the display
  1720.      requirement for the page_mode terminal.
  1721.  
  1722.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  1723.      the display to indicate where the cursor was located at a certain
  1724.      point in the test.
  1725.  
  1726.          set_position( 8, 1 ) ;
  1727.          put("this is our fourth line of data") ;
  1728.          update_screen_with_movement ;
  1729.  
  1730.          set_position( 8, 13 ) ;
  1731.          delete_character( 6 ) ;     --'fourth' should be deleted
  1732.          update_screen_with_movement ;
  1733.  
  1734.          set_position( 22, 1) ;
  1735.          put("this is our first line of data") ;
  1736.          set_position( 22,12 )  ;
  1737.          delete_character(25) ;
  1738.          update_screen_with_movement ;
  1739.  
  1740.  
  1741.  
  1742.      3.3.3.17.2  Description Of The Actual Display
  1743.  
  1744.           Fourth will be deleted from the display.  When something is
  1745.      deleted within a line the chars remaining on the line shift to the
  1746.      left to fill in for the deleted chars.  The second line will be
  1747.      deleted from the middle to the end of line, blanks fill from the right
  1748.      as characters are deleted.
  1749.  
  1750.  
  1751.      Matrix entry number:  A-16
  1752.  
  1753.  
  1754.  
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.                                  3-22
  1769.  
  1770.  
  1771.      3.3.3.18  TESTING DELETING LINES FROM THE DISPLAY
  1772.  
  1773.      3.3.3.18.1  Contents Of The Test
  1774.  
  1775.           The following test procedure consists of a segment of Ada
  1776.      procedure calls which test the deleting lines from the display
  1777.      requirement for the page_mode terminal.
  1778.  
  1779.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  1780.      the display to indicate where the cursor was located at a certain
  1781.      point in the test.
  1782.  
  1783.          set_position( 1, 1 ) ;                    --the following calls on
  1784.          put("This is the top line") ;           --put are used to set
  1785.          set_position( 8, 1 ) ;                    --up the display, so 
  1786.          put("delete lines from display") ;      --we can more easily 
  1787.          set_position( 9, 1 ) ;                    --see delete_line in
  1788.          put("line number one") ;                --action
  1789.          set_position( 10, 1 ) ;
  1790.          put("line number two") ;
  1791.          set_position( 11, 1 ) ;
  1792.          put("line number three") ;
  1793.          set_position( 12, 1 ) ;
  1794.          put("This line should not be deleted") ;
  1795.          update_screen_with_movement ;
  1796.        
  1797.          set_position( 10, 1 ) ;         --the 2nd and 3rd lines will be deleted
  1798.          delete_line(2) ;                --the lines below will shift up
  1799.          update_screen_with_movement ;
  1800.  
  1801.          set_position( 23, 1 ) ;          --delete from the middle of a line
  1802.          put("This is our fourth line of data") ;
  1803.          set_position( 24, 1 ) ;
  1804.          put("this is our last line of data") ;
  1805.  
  1806.          set_position( 23, 10 ) ;        --delete more than number of 
  1807.          delete_line( 5 ) ;              --lines left on the display
  1808.          update_screen_with_movement ;
  1809.  
  1810.  
  1811.  
  1812.      3.3.3.18.2  Description Of The Actual Display
  1813.  
  1814.           There will only be one line left on the screen.  When lines are
  1815.      deleted, the lines remaining below the active position shift up and
  1816.      blank lines fill from the bottom.
  1817.  
  1818.  
  1819.      Matrix entry number:  A-17
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.                                  3-23
  1826.  
  1827.  
  1828.      3.3.3.19  TESTING ERASING CHARACTERS FROM THE DISPLAY
  1829.  
  1830.      3.3.3.19.1  Contents Of The Test
  1831.  
  1832.           The following test procedure consists of a segment of Ada
  1833.      procedure calls which test the erasing characters from the display
  1834.      requirement for the page_mode terminal.
  1835.  
  1836.             ____          **Note:  The testing of this requirement may not look like the
  1837.      following Ada source code might indicate.  Erase_in_display will be
  1838.      used while testing many of the other requirements where it will get
  1839.      tested sufficiently.  Therefore the following is just an example of
  1840.      how it could be tested.
  1841.  
  1842.          set_position( 1, 1 ) ;                    --the following calls on
  1843.          put("This is the top line") ;           --put are used to set
  1844.          set_position( 5, 1 ) ;                    --up the display, so 
  1845.          put("erasing chars from display") ;     --we can more easily 
  1846.          set_position( 6, 1 ) ;                    --see erase_in_display in
  1847.          put("line number one") ;                --action
  1848.          set_position( 7, 1 ) ;
  1849.          put("line number two") ;
  1850.          set_position( 8, 1 ) ;
  1851.          put("line number three") ;
  1852.          set_position( 10, 1 ) ;
  1853.          put("This line should not be deleted") ;
  1854.          set_position( 24, 1 ) ;
  1855.          put("This is the bottom line of the display") ;
  1856.          update_screen_with_movement ;
  1857.        
  1858.          set_position( 1, 1 ) ;          --nothing will happen
  1859.          erase_in_display( from_start_to_xy_position ) ;    
  1860.          update_screen_with_movement ;
  1861.  
  1862.          set_position( 24, 80 ) ;        --nothing will happen
  1863.          erase_in_display( from_xy_position_to_end ) ;  
  1864.          update_screen_with_movement ;
  1865.  
  1866.          set_position( 5, 10 ) ;         --display will be erased from start 
  1867.          erase_in_display( from_start_to_xy_position ) ;  --to act. pos.
  1868.          update_screen_with_movement ;
  1869.  
  1870.          set_position( 10, 10 ) ;        --erase from act. pos. to end
  1871.          erase_in_display( from_xy_positon_to_end ) ;
  1872.          update_screen_with_movement ;
  1873.  
  1874.          set_position( 7, 60 ) ;
  1875.          erase_in_display( all_positions ) ;
  1876.          update_screen_with_movement ;
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.                                  3-24
  1883.  
  1884.  
  1885.      3.3.3.19.2  Description Of The Actual Display
  1886.  
  1887.           The entire screen will be erased by the final erase_in_display.
  1888.      The other calls on erase_in_display are self explanatory.  Nothing
  1889.      happens when the procedure is called to erase to the act.  pos.  when
  1890.      the act.  pos.  is at the first position of the display( likewise for
  1891.      erasing to the end of the display while you are at the end of the
  1892.      display ).  The act.  pos.  does not move after an erase.
  1893.  
  1894.  
  1895.      Matrix entry number:  A-18
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.  
  1921.  
  1922.  
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928.  
  1929.  
  1930.  
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.                                  3-25
  1940.  
  1941.  
  1942.      3.3.3.20  TESTING ERASING BETWEEN SPECIFIC POSITIONS ON THE DISPLAY
  1943.  
  1944.      3.3.3.20.1  Contents Of The Test
  1945.  
  1946.           The following test procedure consists of a segment of Ada
  1947.      procedure calls which test the erasing between specific positions on
  1948.      the display requirement for the page_mode terminal.
  1949.  
  1950.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  1951.      the display to indicate where the cursor was located at a certain
  1952.      point in the test.
  1953.  
  1954.          set_position( 1, 1 ) ;                    --the following calls on
  1955.          put("This is the top line") ;           --put are used to set
  1956.          set_position( 8, 1 ) ;                    --up the display, so 
  1957.          put("erasing chars from display") ;     --we can more easily 
  1958.          set_position( 9, 1 ) ;                    --see erase_in_line in
  1959.          put("line number one") ;                --action
  1960.          set_position( 10, 1 ) ;
  1961.          put("line number two") ;
  1962.          set_position( 11, 1 ) ;
  1963.          put("line number three") ;
  1964.          update_screen_with_movement ;
  1965.        
  1966.          set_position( 1, 1 ) ;          --nothing will happen
  1967.          erase_in_line( from_start_to_xy_position ) ;    
  1968.          update_screen_with_movement ;
  1969.  
  1970.          set_position( 24, 80 ) ;        --nothing will happen
  1971.          erase_in_line( from_xy_position_to_end ) ;  
  1972.          update_screen_with_movement ;
  1973.  
  1974.          set_position( 8, 10 ) ;         --line will be erased from start 
  1975.          erase_in_line( from_start_to_xy_position ) ;  --to act. pos.
  1976.          update_line ;
  1977.  
  1978.          set_position( 7, 5 ) ;        --erase from act. pos. to end
  1979.          erase_in_line( from_xy_positon_to_end ) ;
  1980.          update_line ;
  1981.  
  1982.          set_position( 8, 60 ) ;
  1983.          erase_in_line( all_positions ) ;
  1984.          update_line ;
  1985.  
  1986.  
  1987.  
  1988.  
  1989.  
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.                                  3-26
  1997.  
  1998.  
  1999.      3.3.3.20.2  Description Of The Actual Display
  2000.  
  2001.           The act.  pos.  is not moved after an erase of any kind.  The
  2002.      scope of this erase procedure is just one line.  The parameter
  2003.      'from_start_to_xy_position' means from the start of the line to the
  2004.      active position.
  2005.  
  2006.  
  2007.      Matrix entry number:  A-19
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.                                  3-27
  2054.  
  2055.  
  2056.      3.3.3.21  TESTING INSERTING CHARACTERS ONTO THE DISPLAY
  2057.  
  2058.      3.3.3.21.1  Contents Of The Test
  2059.  
  2060.           The following test procedure consists of a segment of Ada
  2061.      procedure calls which test the inserting characters onto the display
  2062.      requirement for the page_mode terminal.
  2063.  
  2064.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  2065.      the display to indicate where the cursor was located at a certain
  2066.      point in the test.
  2067.  
  2068.          set_position( 1, 1 ) ;                    --the following calls on
  2069.          put("This is the top line") ;           --put are used to set
  2070.          set_position( 5, 1 ) ;                    --up the display, so 
  2071.          put("insert characters onto display") ; --we can more easily 
  2072.          set_position( 6, 1 ) ;                    --see erase_in_line in
  2073.          put("line number one") ;                --action
  2074.          set_position( 7, 1 ) ;
  2075.          put("line number two") ;
  2076.          set_position( 8, 1 ) ;
  2077.          put("line number three") ;
  2078.          set_position( 24, 1 ) ;
  2079.          put("This is the bottom line of the display") ;
  2080.          update_screen_with_movement ;
  2081.        
  2082.          set_position( 8, 1 ) ;
  2083.          enter_insert_mode ;                       
  2084.          put("This is a test ") ;
  2085.          update_screen_with_movement ;
  2086.  
  2087.          set_position( 12, 40 ) ;    
  2088.          exit_insert_mode ;
  2089.          put("the end of this line will be lost") ;
  2090.          enter_insert_mode ;
  2091.          set_position( 12, 40 ) ;
  2092.          put("if the max col is exceeded, ") ;
  2093.          update_screen_with_movement ;
  2094.  
  2095.          set_position( 7, 5 ) ;        
  2096.          exit_insert_mode ;
  2097.          write_to_screen("Out of insert mode") ; --This will write over
  2098.          update_line ;                             -- whatever is there
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.                                  3-28
  2111.  
  2112.  
  2113.      3.3.3.21.2  Description Of The Actual Display
  2114.  
  2115.           There will be two lines changed from the original state.  Once
  2116.      insert mode is exited, chars will not be inserted on the display, they
  2117.      will be written over whatever was previously in that position.
  2118.  
  2119.  
  2120.      Matrix entry number:  A-20
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158.  
  2159.  
  2160.  
  2161.  
  2162.  
  2163.  
  2164.  
  2165.  
  2166.  
  2167.                                  3-29
  2168.  
  2169.  
  2170.      3.3.3.22  TESTING INSERTING LINES ONTO THE DISPLAY
  2171.  
  2172.      3.3.3.22.1  Contents Of The Test
  2173.  
  2174.           The following test procedure consists of a segment of Ada
  2175.      procedure calls which test the inserting lines into the display
  2176.      requirement for the page_mode terminal.
  2177.  
  2178.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  2179.      the display to indicate where the cursor was located at a certain
  2180.      point in the test.
  2181.  
  2182.          set_position( 1, 1 ) ;                    --the following calls on
  2183.          put("This is the top line") ;           --put are used to set
  2184.          set_position( 5, 1 ) ;                    --up the display, so 
  2185.          put("insert lines into display") ;      --we can more easily 
  2186.          set_position( 6, 1 ) ;                    --see insert_line in
  2187.          put("line number one") ;                --action
  2188.          set_position( 7, 1 ) ;
  2189.          put("line number two") ;
  2190.          set_position( 8, 1 ) ;
  2191.          put("line number three") ;
  2192.          set_position( 24, 1 ) ;
  2193.          put("This is the bottom line of the display") ;
  2194.          update_screen_with_movement ;
  2195.        
  2196.          set_position( 1, 1 ) ;
  2197.          insert_line ;
  2198.          update_screen_with_movement ;
  2199.  
  2200.          set_position( 24, 1 ) ;    
  2201.          put("This is the new bottom line") ;
  2202.          set_position( 24, 1 ) ;
  2203.          insert_line ;
  2204.          update_screen_with_movement ;  --bottom line of data is lost
  2205.  
  2206.          set_position( 7, 1 ) ;        
  2207.          insert_line( 3 ) ;
  2208.          update_screen_with_movement ;
  2209.  
  2210.  
  2211.      3.3.3.22.2  Description Of The Actual Display
  2212.  
  2213.           There will be several lines inserted into the display.  These
  2214.      lines will be blank and the cursor will be at the beginning of the
  2215.      newly inserted line.  Lines below the act.  pos.  are pushed downward
  2216.      in the display.  The final image of the display will have the cursor
  2217.      located first position of the seventh line.
  2218.  
  2219.  
  2220.      Matrix entry number:  A-21
  2221.  
  2222.  
  2223.  
  2224.                                  3-30
  2225.  
  2226.  
  2227.      3.3.3.23  TESTING SETTING THE GRAPHIC RENDITION ON THE DISPLAY
  2228.  
  2229.      3.3.3.23.1  Contents Of The Test
  2230.  
  2231.           The following test procedure consists of a segment of Ada
  2232.      procedure calls which test the setting the graphic rendition on the
  2233.      display requirement for the page_mode terminal.
  2234.  
  2235.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  2236.      the display to indicate where the cursor was located at a certain
  2237.      point in the test.
  2238.  
  2239.          set_position( 1, 1 ) ;                    --the following calls on
  2240.          put("This is the top line") ;           --put are used to set
  2241.          set_position( 5, 1 ) ;                    --up the display, so 
  2242.          put("setting rendition of display") ;   --we can more easily 
  2243.          set_position( 6, 1 ) ;                    --see select_graphic_
  2244.          put("line number one") ;                --rendition
  2245.          set_position( 7, 1 ) ;
  2246.          put("line number two") ;
  2247.          set_position( 8, 1 ) ;
  2248.          put("line number three") ;
  2249.          set_position( 24, 1 ) ;
  2250.          put("This is the bottom line of the display") ;
  2251.          update_screen_with_movement ;
  2252.        
  2253.          set_position( 1, 22 ) ;
  2254.          select_graphic_rendition( reverse_image ) ;
  2255.          put("This should be highlited.") ;
  2256.          update_screen_with_movement ;
  2257.  
  2258.          set_position( 3, 22 ) ;
  2259.          select_graphic_rendition( reverse_image ) ;
  2260.          put("Rendition should not change") ;
  2261.          update_screen_with_movement ;
  2262.  
  2263.          set_position( 15, 22 ) ;
  2264.          select_graphic_rendition( primary_rendition ) ;
  2265.          put("Back to normal") ;
  2266.          update_screen_with_movement ;
  2267.  
  2268.  
  2269.      3.3.3.23.2  Description Of The Actual Display
  2270.  
  2271.           There should be two lines written in reverse image on the display
  2272.      which is normally dark letters on a lite background.  The last line of
  2273.      data written to the display will be in the normal rendition.
  2274.  
  2275.  
  2276.      Matrix entry number:  A-22
  2277.  
  2278.  
  2279.  
  2280.  
  2281.                                  3-31
  2282.  
  2283.  
  2284.      3.3.3.24  TESTING DEFINING QUALIFIED AREAS ON THE DISPLAY
  2285.  
  2286.      3.3.3.24.1  Contents Of The Test
  2287.  
  2288.           The following test procedure consists of a segment of Ada
  2289.      procedure calls which test the defining qualified areas on the display
  2290.      requirement for the form_mode terminal.
  2291.  
  2292.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  2293.      the display to indicate where the cursor was located at a certain
  2294.      point in the test.
  2295.  
  2296.          set_position( 5, 1 ) ;
  2297.          define_qualified_area( high, unprotected,
  2298.                       numerics);
  2299.  
  2300.          set_position( 6, 10 ) ;
  2301.          define_qualified_area( normal, protected, 
  2302.                       graphic_characters) ;
  2303.          set_position( 20, 20 ) ;
  2304.          define_qualified_area( none, unprotected, 
  2305.                       graphic_characters) ;
  2306.  
  2307.          activate_form ;               --will be at first unprotected area,
  2308.                                        --control is passed to the keyboard
  2309.          
  2310.  
  2311.  
  2312.      3.3.3.24.2  What The Tester Has To Type
  2313.  
  2314.           When activate form is invoked, control shifts to the keyboard and
  2315.      the tester.  The act.  pos.  will be at the first editing position of
  2316.      the form.  Type in some numbers, they should appear in high intensity.
  2317.      Try typing some letters, they will not be allowed.  Try typing some
  2318.      chars in a protected area, the bell should ring( as defined in the TCF
  2319.      ).  Hit the tab.  Type in any grpahic characters.  They will not
  2320.      appear on the display because the intensity is set to none.
  2321.  
  2322.      3.3.3.24.3  Description Of The Actual Display
  2323.  
  2324.           There will be three qualified areas defined on the form.  Each
  2325.      with various characteristics as defined in the calls on
  2326.      define_qualified_area.
  2327.  
  2328.  
  2329.      Matrix entry number:  A-24
  2330.  
  2331.  
  2332.  
  2333.  
  2334.  
  2335.  
  2336.  
  2337.  
  2338.                                  3-32
  2339.  
  2340.  
  2341.      3.3.3.25  TESTING CLEARING QUALIFIED AREAS ON THE DISPLAY
  2342.  
  2343.      3.3.3.25.1  Contents Of The Test
  2344.  
  2345.           The following test procedure consists of a segment of Ada
  2346.      procedure calls which test the clearing qualified area from the
  2347.      display requirement for the form_mode terminal.
  2348.  
  2349.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted in
  2350.      the display to indicate where the cursor was located at a certain
  2351.      point in the test.
  2352.  
  2353.          set_position( 5, 1 ) ;
  2354.          define_qualified_area( high, unprotected,
  2355.                       numerics ) ;
  2356.          set_position( 6, 10 ) ;
  2357.          define_qualified_area( normal, protected, 
  2358.                       graphic_characters) ;
  2359.          set_position( 20, 20 ) ;
  2360.          define_qualified_area( none, unprotected, 
  2361.                      graphic_characters ) ;
  2362.  
  2363.          tab ; tab ;                   --will position the act. pos.
  2364.                                        --at the second qualified area
  2365.                                        --of the form
  2366.          clear_qualified_area ;        --at position (6,10)
  2367.  
  2368.          activate_form ;               --will be at first unprotected area
  2369.                                        --form editing is now allowed
  2370.          set_position( 20,30 ) ;
  2371.          clear_qualified_area ;
  2372.          activate_form ;
  2373.  
  2374.  
  2375.      3.3.3.25.2  What The Tester Needs To Type
  2376.  
  2377.           When the form is activated, control is passed from the user
  2378.      program to the keyboard.  The tester must now use the local editing
  2379.      allowed to illustrate the properties of the form at hand.  The tab key
  2380.      must be hit to show that the second qualified area is no longer
  2381.      defined.  The tester then needs to hit a function key to return
  2382.      control to the user program, where another area is cleared.  Activate
  2383.      the form again.  The cursor will now be at the first editing position
  2384.      on the form which will be the first qualified area initially defined.
  2385.  
  2386.  
  2387.  
  2388.  
  2389.  
  2390.  
  2391.  
  2392.  
  2393.  
  2394.  
  2395.                                  3-33
  2396.  
  2397.  
  2398.      3.3.3.25.3  Description Of The Actual Display
  2399.  
  2400.           There will be two qualified areas defined on the form when it is
  2401.      first activated.  Both with various characteristics as defined in the
  2402.      calls on definequalifiedarea.  Then the third one is cleared.  The
  2403.      screen will consist of a single qualified area in high rendition.
  2404.  
  2405.  
  2406.      Matrix entry number:  A-25
  2407.  
  2408.  
  2409.  
  2410.  
  2411.  
  2412.  
  2413.  
  2414.  
  2415.  
  2416.  
  2417.  
  2418.  
  2419.  
  2420.  
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.  
  2448.  
  2449.  
  2450.  
  2451.  
  2452.                                  3-34
  2453.  
  2454.  
  2455.      3.3.3.26  TESTING MOVING BY TAB STOPS ON THE DISPLAY
  2456.  
  2457.      3.3.3.26.1  Contents Of The Test
  2458.  
  2459.           The following test procedure consists of a segment of Ada
  2460.      procedure calls which test the moving by tab stops on the display
  2461.      requirement for the form_mode terminal.  Moving by tab stops to the
  2462.      next qualified area can take two forms in the form_mode terminal.  One
  2463.      can be done within the user program with the procedure tab and the
  2464.      other can be performed by hitting the tab key while the form is
  2465.      active.
  2466.  
  2467.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted
  2468.      into the display to indicate where the cursor was located at a certain
  2469.      point in the test.
  2470.  
  2471.          set_position( 5, 1 ) ;
  2472.          define_qualified_area( high, unprotected,
  2473.                       numerics) ;
  2474.          set_position( 6, 10 ) ;
  2475.          define_qualified_area( normal, protected, 
  2476.                       graphic_characters ) ;
  2477.          set_position( 20, 20 ) ;
  2478.          define_qualified_area( none, unprotected, 
  2479.                       graphic_characters ) ;
  2480.  
  2481.          tab ; tab ;                   --will position the act. pos.
  2482.                                        --at the second qualified area
  2483.                                        --of the form, this will not be
  2484.                                        --because the area is protected
  2485.          put("NAME:") ;
  2486.          tab ;                         --at the third qual. area defined
  2487.          put("PASSWORD:") ;                    
  2488.          activate_form ;               --will be at first unprotected area
  2489.          
  2490.          
  2491.          
  2492.  
  2493.      3.3.3.26.2  What The Tester Needs To Type
  2494.  
  2495.           When the form is activated, control is passed from the user
  2496.      program to the keyboard.  The tester must now use the local editing
  2497.      allowed to illustrate the properties of the form at hand.  Hit the tab
  2498.      key to show that the cursor moves to the next unprotected qualified
  2499.      area.  Tab to the last unprotected qualified area on the form, hit the
  2500.      tab key again, the cursor will move to the first qualified area of the
  2501.      form.
  2502.  
  2503.  
  2504.  
  2505.  
  2506.  
  2507.  
  2508.  
  2509.                                  3-35
  2510.  
  2511.  
  2512.      3.3.3.26.3  Description Of The Actual Display
  2513.  
  2514.           There will be three qualified areas defined on the form.  The
  2515.      form_mode terminal has line wrap and screen wrap capabilities.
  2516.      'NAME:' and 'PASSWORD:' will appear on the screen.
  2517.  
  2518.  
  2519.      Matrix entry number:  A-26
  2520.  
  2521.  
  2522.  
  2523.  
  2524.  
  2525.  
  2526.  
  2527.  
  2528.  
  2529.  
  2530.  
  2531.  
  2532.  
  2533.  
  2534.  
  2535.  
  2536.  
  2537.  
  2538.  
  2539.  
  2540.  
  2541.  
  2542.  
  2543.  
  2544.  
  2545.  
  2546.  
  2547.  
  2548.  
  2549.  
  2550.  
  2551.  
  2552.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.                                  3-36
  2567.  
  2568.  
  2569.      3.3.3.27  TESTING ERASING BETWEEN SPECIFIED POSITIONS ON THE DISPLAY
  2570.  
  2571.      3.3.3.27.1  Contents Of The Test
  2572.  
  2573.           The following test procedure consists of a segment of Ada
  2574.      procedure calls which test the erasing between specified areas on the
  2575.      display requirement for the form_mode terminal.  Erasing from the
  2576.      display can occur within specified areas or the entire display may be
  2577.      erased.
  2578.  
  2579.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted
  2580.      into the display to indicate where the cursor was located at a certain
  2581.      point in the test.
  2582.  
  2583.          set_position( 5, 1 ) ;
  2584.          define_qualified_area( high, unprotected,
  2585.                       numerics ) ;
  2586.          set_position( 6, 10 ) ;
  2587.          define_qualified_area( normal, protected, 
  2588.                       graphic_characters ) ;
  2589.          set_position( 20, 20 ) ;
  2590.          define_qualified_area( none, unprotected, 
  2591.                       graphic_characters ) ;
  2592.  
  2593.          tab ;                         --will position the act. pos.
  2594.                                        --at the first qualified area
  2595.          put("Here I am.") ;
  2596.          redisplay_screen_with_movement ;
  2597.          tab ;                    --back at first qualified area
  2598.          put("This should not appear on the screen.") ;
  2599.          set_position( 6, 40 ) ;
  2600.  
  2601.          erase_area ;
  2602.  
  2603.          activate_form ;    
  2604.  
  2605.          erase_display ;
  2606.          activate_form ;    
  2607.          
  2608.  
  2609.      3.3.3.27.2  What The Tester Needs To Type
  2610.  
  2611.           The tester needs to type the chars allowed in the first and third
  2612.      qualified areas.  Then a function key to return control to the users
  2613.      program where the display is to be erased.  The tester will notice
  2614.      that the entire display is erased.  Try typing some chars from the
  2615.      keyboard.  The bell will ring( as defined in the TCF ) because the
  2616.      whole screen is protected.  Hit a function key to return to the users
  2617.      program.
  2618.  
  2619.  
  2620.  
  2621.  
  2622.  
  2623.                                  3-37
  2624.  
  2625.  
  2626.      3.3.3.27.3  Description Of The Actual Display
  2627.  
  2628.           The first form illustrates the erase area command.  After writing
  2629.      a string in the second qualified area, the active position is placed
  2630.      within that area and erase_area is called.  This blanks out the area
  2631.      where the act.  pos.  is located.  In the second form, there will be
  2632.      one qualified area defined.  The entire display will be blank, the
  2633.      erase_display blanks out the whole virtual display.  All user defined
  2634.      qualified areas are removed from the display.
  2635.  
  2636.  
  2637.      Matrix entry number:  A-28 and A-29
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.  
  2644.  
  2645.  
  2646.  
  2647.  
  2648.  
  2649.  
  2650.  
  2651.  
  2652.  
  2653.  
  2654.  
  2655.  
  2656.  
  2657.  
  2658.  
  2659.  
  2660.  
  2661.  
  2662.  
  2663.  
  2664.  
  2665.  
  2666.  
  2667.  
  2668.  
  2669.  
  2670.  
  2671.  
  2672.  
  2673.  
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.                                  3-38
  2681.  
  2682.  
  2683.      3.3.3.28  TESTING READING CHARACTERS AND STRINGS FROM THE DISPLAY
  2684.                BUFFER
  2685.  
  2686.      3.3.3.28.1  Contents Of The Test
  2687.  
  2688.           The following test procedure consists of a segment of Ada
  2689.      procedure calls which test the reading chars and strings from the
  2690.      display requirement for the form_mode terminal.
  2691.  
  2692.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted
  2693.      into the display to indicate where the cursor was located at a certain
  2694.      point in the test.
  2695.  
  2696.          set_position( 5, 1 ) ;
  2697.          define_qualified_area( high, unprotected,
  2698.                       numerics ) ;
  2699.          set_position( 6, 10 ) ;
  2700.          define_qualified_area( normal, protected, 
  2701.                       graphic_characters ) ;
  2702.          set_position( 20, 20 ) ;
  2703.          define_qualified_area( none, unprotected, 
  2704.                       graphic_characters ) ;
  2705.  
  2706.          activate_form ;    
  2707.          
  2708.          tab ;                 --move to the first area defined
  2709.          get( item ) ;         
  2710.          set_position( 22, 10 ) ;   --will produce same string typed
  2711.          put( item ) ;              --at the first qualified area
  2712.        
  2713.          tab ; tab ;
  2714.          get( item2 ) ;
  2715.          set_position( 23, 10 ) ;
  2716.          put( item2 ) ;
  2717.          activate_form ;
  2718.  
  2719.  
  2720.  
  2721.      3.3.3.28.2  What The Tester Needs To Type
  2722.  
  2723.           The tester needs to type the chars allowed in the first and third
  2724.      qualified areas.  Then a function key to return control to the users
  2725.      program where the strings entered in the qualified areas can be read.
  2726.      The function 'get' will extract the number of characters from the
  2727.      display equal to the size of the array as it was declared( ex.
  2728.      item1(1..5) will result in 5 characters being extracted from the form
  2729.      with get( item1 ) ).
  2730.  
  2731.  
  2732.  
  2733.  
  2734.  
  2735.  
  2736.  
  2737.                                  3-39
  2738.  
  2739.  
  2740.      3.3.3.28.3  Description Of The Actual Display
  2741.  
  2742.           There will be three qualified areas defined on the form, two of
  2743.      them will recieve data from the keyboard.  The data should be read and
  2744.      output to the screen to assure the get procedure works properly.
  2745.  
  2746.  
  2747.      Matrix entry number:  A-27 
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.  
  2756.  
  2757.  
  2758.  
  2759.  
  2760.  
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.  
  2768.  
  2769.  
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.  
  2776.  
  2777.  
  2778.  
  2779.  
  2780.  
  2781.  
  2782.  
  2783.  
  2784.  
  2785.  
  2786.  
  2787.  
  2788.  
  2789.  
  2790.  
  2791.  
  2792.  
  2793.  
  2794.                                  3-40
  2795.  
  2796.  
  2797.      3.3.3.29  TESTING WRITING CHARACTERS AND STRINGS TO THE DISPLAY BUFFER
  2798.  
  2799.      3.3.3.29.1  Contents Of The Test
  2800.  
  2801.           The following test procedure consists of a segment of Ada
  2802.      procedure calls which test the writing of chars and strings to the
  2803.      display requirement for the form_mode terminal.
  2804.  
  2805.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted
  2806.      into the display to indicate where the cursor was located at a certain
  2807.      point in the test.
  2808.  
  2809.          set_position( 5, 1 ) ;
  2810.          define_qualified_area( high, unprotected,
  2811.                       graphic_characters ) ;
  2812.          set_position( 6, 1 ) ;
  2813.          define_qualified_area( none, unprotected, 
  2814.                       graphic_characters ) ;
  2815.          set_position( 20, 20 ) ;
  2816.          define_qualified_area( normal, unprotected, numerics ) ;
  2817.  
  2818.          tab ;
  2819.          put("This is the first string") ;
  2820.          set_position( 20, 60 ) ;
  2821.          put("This is the second string, it should wrap to the next line") ;
  2822.          set_position( 24, 60 ) ;
  2823.          put("This is the third string, it should wrap screen") ;
  2824.  
  2825.          activate_form ;    
  2826.          
  2827.  
  2828.  
  2829.      3.3.3.29.2  What The Tester Needs To Type
  2830.  
  2831.           The tester need only type a function key to return to the user's
  2832.      program.
  2833.  
  2834.      3.3.3.29.3  Description Of The Actual Display
  2835.  
  2836.           The display will have three strings in it.  They will
  2837.      sufficiently describe the capabilities of the put procedure.
  2838.  
  2839.  
  2840.      Matrix entry number:  A-31
  2841.  
  2842.  
  2843.  
  2844.  
  2845.  
  2846.  
  2847.  
  2848.  
  2849.  
  2850.  
  2851.                                  3-41
  2852.  
  2853.  
  2854.      3.3.3.30  TESTING ACTIVATING A FORM FOR USER FILL IN
  2855.  
  2856.      3.3.3.30.1  Contents Of The Test
  2857.  
  2858.           The following test procedure consists of a segment of Ada
  2859.      procedure calls which test the activating a form for user fill in
  2860.      requirement for the form_mode terminal.
  2861.  
  2862.             ____          **Note:  Where appropriate, an uppercase 'C' will be inserted
  2863.      into the display to indicate where the cursor was located at a certain
  2864.      point in the test.
  2865.  
  2866.          set_position( 5, 1 ) ;
  2867.          put("NAME:")  ;
  2868.          set_position( 5, 10) ;
  2869.          define_qualified_area( high, unprotected,
  2870.                       graphic_characters ) ;
  2871.          set_position( 6, 1 ) ;
  2872.          put("PASSWORD:") ;
  2873.          set_position( 6, 10 ) ;
  2874.          define_qualified_area( none, unprotected, 
  2875.                       graphic_characters ) ;
  2876.          set_position( 20, 20 ) ;
  2877.          define_qualified_area( normal, unprotected, numerics ) ;
  2878.  
  2879.          activate_form ;             --perform local editting while
  2880.                                      --this form is active, this includes:
  2881.                                      --tabing to the next unprotected qualified 
  2882.                                      --area, using arrow keys, deleting chars
  2883.                                      --from the display, using carriage
  2884.                                      --return to get to the next line, and
  2885.                                      --hitting a function key to return to
  2886.                                      --the user program    
  2887.                                      --write to a protected area, the bell
  2888.                                      --will ring
  2889.              
  2890.  
  2891.  
  2892.      3.3.3.30.2  What The Tester Needs To Type
  2893.  
  2894.           All the local editting must be tested while the form is active.
  2895.      The types of editting are described to the right of the call on
  2896.      activate form above.  The tester must type a function key to return
  2897.      control to the user's program.
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.                                  3-42
  2909.  
  2910.  
  2911.      3.3.3.30.3  Description Of The Actual Display
  2912.  
  2913.           The actual display will vary as to the types and quantity of the
  2914.      local editting down by the tester.
  2915.  
  2916.  
  2917.      Matrix entry number:  A-30
  2918.  
  2919.  
  2920.  
  2921.  
  2922.  
  2923.  
  2924.  
  2925.  
  2926.  
  2927.  
  2928.  
  2929.  
  2930.  
  2931.  
  2932.  
  2933.  
  2934.  
  2935.  
  2936.  
  2937.  
  2938.  
  2939.  
  2940.  
  2941.  
  2942.  
  2943.  
  2944.  
  2945.  
  2946.  
  2947.  
  2948.  
  2949.  
  2950.  
  2951.  
  2952.  
  2953.  
  2954.  
  2955.  
  2956.  
  2957.  
  2958.  
  2959.  
  2960.  
  2961.  
  2962.  
  2963.  
  2964.  
  2965.                                  3-43
  2966.  
  2967.  
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.  
  2974.  
  2975.  
  2976.  
  2977.                                  CHAPTER 4
  2978.  
  2979.  
  2980.  
  2981.  
  2982.      4.1  TEST MANAGEMENT
  2983.  
  2984.           The Virtual Terminal development team is responsible for
  2985.      management of the testing described in this document.  The Virtual
  2986.      Terminal development team responsibilities are to:
  2987.  
  2988.       o  create test data according to the test specifications in Appendix
  2989.          A
  2990.  
  2991.       o  conduct the test procedures described in the Testing Requirements
  2992.          section,
  2993.  
  2994.       o  maintain the Test Specifications Matrix in Appendix B, and
  2995.  
  2996.       o  write an internal test report.
  2997.  
  2998.  
  2999.  
  3000.  
  3001.  
  3002.  
  3003.  
  3004.  
  3005.  
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.                                  4-1
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033.  
  3034.                                  CHAPTER 5
  3035.  
  3036.  
  3037.  
  3038.  
  3039.      5.1  PERSONNEL REQUIREMENTS
  3040.  
  3041.           The software development team for the Virtual Terminal is the
  3042.      only personnel required to complete the acceptance testing described
  3043.      in this document.
  3044.  
  3045.  
  3046.  
  3047.  
  3048.  
  3049.  
  3050.  
  3051.  
  3052.  
  3053.  
  3054.  
  3055.  
  3056.  
  3057.  
  3058.  
  3059.  
  3060.  
  3061.  
  3062.  
  3063.  
  3064.  
  3065.  
  3066.  
  3067.  
  3068.  
  3069.  
  3070.  
  3071.  
  3072.  
  3073.  
  3074.  
  3075.  
  3076.  
  3077.  
  3078.  
  3079.                                  5-1
  3080.  
  3081.  
  3082.  
  3083.  
  3084.  
  3085.  
  3086.  
  3087.  
  3088.  
  3089.  
  3090.  
  3091.                                  CHAPTER 6
  3092.  
  3093.  
  3094.  
  3095.  
  3096.      6.1  HARDWARE REQUIREMENTS
  3097.  
  3098.           The acceptance testing described in this document shall be
  3099.      conducted on a Data General MV 10,000 running under AOS/VS.
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.  
  3109.  
  3110.  
  3111.  
  3112.  
  3113.  
  3114.  
  3115.  
  3116.  
  3117.  
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.  
  3125.  
  3126.  
  3127.  
  3128.  
  3129.  
  3130.  
  3131.  
  3132.  
  3133.  
  3134.  
  3135.  
  3136.                                  6-1
  3137.  
  3138.  
  3139.  
  3140.  
  3141.  
  3142.  
  3143.  
  3144.  
  3145.  
  3146.  
  3147.  
  3148.                                  CHAPTER 7
  3149.  
  3150.  
  3151.  
  3152.  
  3153.      7.1  SOFTWARE REQUIREMENTS
  3154.  
  3155.           The acceptance testing described in this document requires the
  3156.      ROLM/Data General Ada Development Environment (ADE).
  3157.  
  3158.  
  3159.  
  3160.  
  3161.  
  3162.  
  3163.  
  3164.  
  3165.  
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176.  
  3177.  
  3178.  
  3179.  
  3180.  
  3181.  
  3182.  
  3183.  
  3184.  
  3185.  
  3186.  
  3187.  
  3188.  
  3189.  
  3190.  
  3191.  
  3192.  
  3193.                                  7-1
  3194.  
  3195.  
  3196.  
  3197.  
  3198.  
  3199.  
  3200.  
  3201.  
  3202.  
  3203.  
  3204.  
  3205.                                  CHAPTER 8
  3206.  
  3207.  
  3208.  
  3209.  
  3210.      8.1  TESTING SCHEDULE
  3211.  
  3212.           The acceptance testing described in this document will take 1-2
  3213.      months to complete.
  3214.  
  3215.  
  3216.  
  3217.  
  3218.  
  3219.  
  3220.  
  3221.  
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.  
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.  
  3240.  
  3241.  
  3242.  
  3243.  
  3244.  
  3245.  
  3246.  
  3247.  
  3248.  
  3249.  
  3250.                                  8-1
  3251.  
  3252.  
  3253.  
  3254.  
  3255.  
  3256.  
  3257.  
  3258.  
  3259.  
  3260.  
  3261.  
  3262.                                  CHAPTER 9
  3263.  
  3264.  
  3265.  
  3266.  
  3267.      9.1  QUALITY ASSURANCE
  3268.  
  3269.           ACSL personnel will be responsible for the following Quality
  3270.      Assurance and Configuration Management tasks:
  3271.  
  3272.       o  verifying that the test data satisfies the test specifications,
  3273.  
  3274.       o  verifying that the documentation of each test is complete, and
  3275.  
  3276.       o  maintaining configuration control of all software undergoing test.
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.  
  3304.  
  3305.  
  3306.  
  3307.                                  9-1
  3308.  
  3309.  
  3310.  
  3311.  
  3312.  
  3313.  
  3314.  
  3315.  
  3316.  
  3317.  
  3318.  
  3319.                                 APPENDIX A
  3320.  
  3321.                             TEST SPECIFICATIONS
  3322.  
  3323.  
  3324.  
  3325.           This appendix contains the test specifications for the Virtual
  3326.      Terminal.  Each test specification includes a list of the requirements
  3327.      that are satsified, a description of the test, assumptions for the
  3328.      test, and a test synopsis.  The test synopsis describes the input and
  3329.      expected results for the test.  The test categories that are used for
  3330.      each test specification are also provided in the synopsis.  A
  3331.      description of the various test categories is provided in the Testing
  3332.      Requirements section.
  3333.  
  3334.           The remainder of this appendix is divided into three large
  3335.      groups.  Each group contains the Test Specifications for one of the
  3336.      'modes' of the Virtual Terminal.  The specifications are grouped in
  3337.      the following order:  Scroll_mode, Page_mode, and Form_mode.
  3338.  
  3339.  
  3340.  
  3341.  
  3342.  
  3343.  
  3344.  
  3345.  
  3346.  
  3347.  
  3348.  
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.  
  3360.  
  3361.  
  3362.  
  3363.  
  3364.                                  A-1
  3365. TEST SPECIFICATIONS
  3366.  
  3367.  
  3368.      TEST SPECIFICATIONS FOR THE SCROLL MODE TERMINAL
  3369.  
  3370.  
  3371.  
  3372.      A.1  SET_TAB
  3373.  
  3374.      A.1.1  REQUIREMENTS MET BY TEST
  3375.  
  3376.           This test specification satisfies the tab stop setting
  3377.      requirement for the scroll_mode terminal.
  3378.  
  3379.      A.1.2  DESCRIPTION OF TEST
  3380.  
  3381.           The test shall include making a call on set_tab followed by a
  3382.      call on update_line.  The call on set_tab should position a tab stop
  3383.      at the current active position on the virtual display.  The tab stop
  3384.      should remain in the same column on succeeding lines.  We will then
  3385.      make a call on tab after a new_line has been issued to see if the
  3386.      set_tab worked properly.
  3387.  
  3388.      A.1.3  ASSUMPTIONS
  3389.  
  3390.           The scroll_mode terminal must be opened prior to the test.
  3391.  
  3392.      A.1.4  TEST SYNOPSIS
  3393.  
  3394.           The following table summarizes the test data, expected outputs,
  3395.      and test categories addressed by the associated test data.
  3396.  
  3397.  
  3398.      INDEX   INPUT DATA              EXPECTED RESULTS  CATEGORIES
  3399.      =====   ==========              ================  ==========
  3400.  
  3401.        1     call on set_tab         tab stop set at   facility
  3402.                                      active position
  3403.  
  3404.        2     call on set_tab         tab stop remains  facility
  3405.              while active position   no apparent  
  3406.              is on a tab stop        action
  3407.  
  3408.  
  3409.  
  3410.  
  3411.  
  3412.  
  3413.  
  3414.  
  3415.  
  3416.  
  3417.  
  3418.  
  3419.  
  3420.  
  3421.  
  3422.                                  A-2
  3423.                                                    TEST SPECIFICATIONS
  3424.  
  3425.  
  3426.      A.2  CLEAR_TAB
  3427.  
  3428.      A.2.1  REQUIREMENTS MET BY TEST
  3429.  
  3430.           This test specification satisfies the clear tab stop requirement
  3431.      for the scroll_mode terminal.
  3432.  
  3433.      A.2.2  DESCRIPTION OF TEST
  3434.  
  3435.           The test shall include removing a tab stop at the active position
  3436.      on the scroll mode terminal.
  3437.  
  3438.      A.2.3  ASSUMPTIONS
  3439.  
  3440.           The scroll_mode terminal must be opened prior to the test.
  3441.  
  3442.      A.2.4  TEST SYNOPSIS
  3443.  
  3444.           The following table summarizes the test data, expected outputs,
  3445.      and test categories addressed by the associated test data.
  3446.  
  3447.  
  3448.      INDEX   INPUT DATA              EXPECTED RESULTS  CATEGORIES
  3449.      =====   ==========              ================  ==========
  3450.  
  3451.        1     call on clear_tab       tab stop removed  facility
  3452.              while active position
  3453.              is on a tab stop             
  3454.  
  3455.        2     call on clear_tab       no apparent       facility
  3456.              while active position   action  
  3457.              is not on a tab stop    
  3458.  
  3459.  
  3460.  
  3461.  
  3462.  
  3463.  
  3464.  
  3465.  
  3466.  
  3467.  
  3468.  
  3469.  
  3470.  
  3471.  
  3472.  
  3473.  
  3474.  
  3475.  
  3476.  
  3477.  
  3478.  
  3479.  
  3480.                                  A-3
  3481. TEST SPECIFICATIONS
  3482.  
  3483.  
  3484.      A.3  TAB
  3485.  
  3486.      A.3.1  REQUIREMENTS MET BY TEST
  3487.  
  3488.           This test specification satisfies the moving to a tab stop
  3489.      requirement for the scroll_mode terminal.
  3490.  
  3491.      A.3.2  DESCRIPTION OF TEST
  3492.  
  3493.           The test shall include moving the active position to a tab stop
  3494.      from the current active position on the scroll mode terminal.
  3495.  
  3496.      A.3.3  ASSUMPTIONS
  3497.  
  3498.           The scroll_mode terminal must be opened prior to the test.
  3499.  
  3500.      A.3.4  TEST SYNOPSIS
  3501.  
  3502.           The following table summarizes the test data, expected outputs,
  3503.      and test categories addressed by the associated test data.
  3504.  
  3505.  
  3506.      INDEX   INPUT DATA              EXPECTED RESULTS    CATEGORIES
  3507.      =====   ==========              ================    ==========
  3508.  
  3509.        1     call on tab with no     move to the begin-    facility
  3510.              tab stops set,          ning of the next
  3511.              update line             line
  3512.  
  3513.        2     call on tab with a      the act. pos. should  facility 
  3514.              tab stop remaining      be moved to this tab
  3515.              to the right of the     stop
  3516.              active position 
  3517.  
  3518.        3     call on tab while the   the act. pos should   facility
  3519.              act. pos. is to the     be positioned at the
  3520.              right of a tab stop,    first tab stop on the
  3521.              update line             next line
  3522.                                      
  3523.  
  3524.        4     call on tab with a      the active postion    facility
  3525.              the parameter count     will be moved the 
  3526.              equal to some number    specified number of tab
  3527.              greater than one,       stops
  3528.              update line             
  3529.  
  3530.  
  3531.  
  3532.  
  3533.  
  3534.  
  3535.  
  3536.  
  3537.  
  3538.                                  A-4
  3539.                                                    TEST SPECIFICATIONS
  3540.  
  3541.  
  3542.      A.4  NEW_LINE
  3543.  
  3544.      A.4.1  REQUIREMENTS MET BY TEST
  3545.  
  3546.           This test specification satisfies the moving to a new line
  3547.      requirement for the scroll_mode terminal, and the setting tab stops
  3548.      requirement.
  3549.  
  3550.      A.4.2  DESCRIPTION OF TEST
  3551.  
  3552.           The test shall include moving the active position to a new line
  3553.      from the current active position on the scroll mode terminal.
  3554.  
  3555.      A.4.3  ASSUMPTIONS
  3556.  
  3557.           The scroll_mode terminal must be opened prior to the test.
  3558.  
  3559.      A.4.4  TEST SYNOPSIS
  3560.  
  3561.           The following table summarizes the test data, expected outputs,
  3562.      and test categories addressed by the associated test data.
  3563.  
  3564.  
  3565.      INDEX   INPUT DATA              EXPECTED RESULTS    CATEGORIES
  3566.      =====   ==========              ================    ==========
  3567.  
  3568.        1     call new_line from      the active position  facility
  3569.              the beginning, end,     should move to the     
  3570.              and some internal       beginning of the 
  3571.              position on the line    next line
  3572.                             
  3573.        2     call new_line with      the tab stop should  facility
  3574.              a tab stop set on the   remain on the the
  3575.              line                    next line,  new_
  3576.                                      line postions the 
  3577.                                      act. pos. at the
  3578.                                      beginning of the 
  3579.                                      next line
  3580.                                      
  3581.  
  3582.        3     call new_line with      the act. pos. should  facility
  3583.              the parameter count     be located at the 
  3584.              greater than one        beginning of 'count'
  3585.                                      lines
  3586.  
  3587.        4     call new_line with      the default should   facility
  3588.              count not given a       be one 
  3589.              value
  3590.        
  3591.  
  3592.  
  3593.  
  3594.  
  3595.  
  3596.                                  A-5
  3597. TEST SPECIFICATIONS
  3598.  
  3599.  
  3600.      A.5  NEW_PAGE
  3601.  
  3602.      A.5.1  REQUIREMENTS MET BY TEST
  3603.  
  3604.           This test specification satisfies the moving to a new page
  3605.      requirement for the scroll_mode terminal.
  3606.  
  3607.      A.5.2  DESCRIPTION OF TEST
  3608.  
  3609.           The test shall include moving the active position to a new page
  3610.      from the current active position on the scroll mode terminal.
  3611.      Typically the new page operation is a form feed but the user can
  3612.      tailor this to be anything he needs by describing it in the TCF.
  3613.  
  3614.      A.5.3  ASSUMPTIONS
  3615.  
  3616.           The scroll_mode terminal must be opened prior to the test.
  3617.  
  3618.      A.5.4  TEST SYNOPSIS
  3619.  
  3620.           The following table summarizes the test data, expected outputs,
  3621.      and test categories addressed by the associated test data.
  3622.  
  3623.  
  3624.      INDEX   INPUT DATA              EXPECTED RESULTS    CATEGORIES
  3625.      =====   ==========              ================    ==========
  3626.  
  3627.        1     call new_page from      the active position  facility
  3628.              the beginning, end,     should move to the     
  3629.              and some internal       beginning of the 
  3630.              position on the line    next page
  3631.                             
  3632.        2     call new_page after     what is written to   facility
  3633.              altering the virtual    the virtual display
  3634.              display by writing      should be shown on
  3635.              something at the act.   the actual display
  3636.              pos.                    because new_page 
  3637.                                      does a implicit
  3638.                                      call on update_line
  3639.  
  3640.        3     call new_page with      'count' number of    facility
  3641.              the parameter count     new pages should be 
  3642.              greater than one        brought issued
  3643.  
  3644.        4     call new_page with      the default should   facility
  3645.              count not given a       be one 
  3646.              value
  3647.        
  3648.  
  3649.  
  3650.  
  3651.  
  3652.  
  3653.  
  3654.                                  A-6
  3655.                                                    TEST SPECIFICATIONS
  3656.  
  3657.  
  3658.      A.6  PUT
  3659.  
  3660.      A.6.1  REQUIREMENTS MET BY TEST
  3661.  
  3662.           This test specification satisfies the writing characters and
  3663.      strings to the display requirement for the scroll_mode terminal.
  3664.  
  3665.      A.6.2  DESCRIPTION OF TEST
  3666.  
  3667.           The test shall include writing various strings and characters to
  3668.      the display.
  3669.  
  3670.      A.6.3  ASSUMPTIONS
  3671.  
  3672.           The scroll_mode terminal must be opened prior to the test.
  3673.  
  3674.      A.6.4  TEST SYNOPSIS
  3675.  
  3676.           The following table summarizes the test data, expected outputs,
  3677.      and test categories addressed by the associated test data.
  3678.  
  3679.  
  3680.      INDEX   INPUT DATA              EXPECTED RESULTS    CATEGORIES
  3681.      =====   ==========              ================    ==========
  3682.  
  3683.        1     call put with a         after an update_      facility
  3684.              single char             line is called 
  3685.                                      the char written
  3686.                                      should appear on the
  3687.                                      actual screen with
  3688.                                      the act. pos. just 
  3689.                                      past the char
  3690.                 
  3691.        2     call put with a         after update_line is  facility
  3692.              string which does not   called the string
  3693.              exceed the line length  written should appear
  3694.                                      on the actual screen
  3695.                                      with the act. pos.
  3696.                                      just past the string 
  3697.  
  3698.  
  3699.  
  3700.  
  3701.  
  3702.  
  3703.  
  3704.  
  3705.  
  3706.  
  3707.  
  3708.  
  3709.  
  3710.  
  3711.  
  3712.                                  A-7
  3713. TEST SPECIFICATIONS
  3714.  
  3715.  
  3716.  
  3717.  
  3718.        3     call put with a string  after update_line is  facility
  3719.              which when written      called the string will
  3720.              will exceed the max     appear but anything
  3721.              line length             written past the max
  3722.                                      line length will be 
  3723.                                      lost, the act. pos.
  3724.                                      should be at the last
  3725.                                      char written 
  3726.  
  3727.  
  3728.  
  3729.  
  3730.  
  3731.  
  3732.  
  3733.  
  3734.  
  3735.  
  3736.  
  3737.  
  3738.  
  3739.  
  3740.  
  3741.  
  3742.  
  3743.  
  3744.  
  3745.  
  3746.  
  3747.  
  3748.  
  3749.  
  3750.  
  3751.  
  3752.  
  3753.  
  3754.  
  3755.  
  3756.  
  3757.  
  3758.  
  3759.  
  3760.  
  3761.  
  3762.  
  3763.  
  3764.  
  3765.  
  3766.  
  3767.  
  3768.  
  3769.  
  3770.                                  A-8
  3771.                                                    TEST SPECIFICATIONS
  3772.  
  3773.  
  3774.      A.7  GET
  3775.  
  3776.      A.7.1  REQUIREMENTS MET BY TEST
  3777.  
  3778.           This test specification satisfies the reading characters and
  3779.      strings from the keyboard requirement for the scroll_mode terminal.
  3780.  
  3781.      A.7.2  DESCRIPTION OF TEST
  3782.  
  3783.           The test shall include an explicit call on get to make sure that
  3784.      what we type from the keyboard is the only thing that the next call on
  3785.      get will see.  We will then enter various combinations of characters
  3786.      and function keys and see if the get returns our input correctly.
  3787.  
  3788.      A.7.3  ASSUMPTIONS
  3789.  
  3790.           The scroll_mode terminal must be opened prior to the test.
  3791.  
  3792.      A.7.4  TEST SYNOPSIS
  3793.  
  3794.           The following table summarizes the test data, expected outputs,
  3795.      and test categories addressed by the associated test data.
  3796.  
  3797.  
  3798.      INDEX   INPUT DATA              EXPECTED RESULTS    CATEGORIES
  3799.      =====   ==========              ================    ==========
  3800.  
  3801.        1     call get after typing   the string should   facility
  3802.              a series of chars with  match the typed
  3803.              no embedded function    input and last 
  3804.              keys, write out the     should match the
  3805.              string returned and     length of the string
  3806.              the parameter last               
  3807.  
  3808.  
  3809.  
  3810.  
  3811.  
  3812.  
  3813.  
  3814.  
  3815.  
  3816.  
  3817.  
  3818.  
  3819.  
  3820.  
  3821.  
  3822.  
  3823.  
  3824.  
  3825.  
  3826.  
  3827.  
  3828.                                  A-9
  3829. TEST SPECIFICATIONS
  3830.  
  3831.  
  3832.  
  3833.       
  3834.        2     call get after typing    last should be 0.    facility
  3835.              several function keys    the value returned    
  3836.              with no embedded chars,  from fuction_count
  3837.              call function_count to   should equal the 
  3838.              determine how many keys  number of keys pres- 
  3839.              were pressed, call       sed, function_key 
  3840.              function_key to get the  should return the
  3841.              actual key pressed       actual key pressed
  3842.              (you must call function-
  3843.              _key 'function_count'
  3844.              times.)
  3845.  
  3846.         3    call get after typing    last should equal    facility, 
  3847.              some chars and function  the number of chars   
  3848.              keys intermixed, repeat  typed. function_count
  3849.              the procedure of the     should equal the num- 
  3850.              previous test            ber of function keys
  3851.                                       pressed, calls on  
  3852.                                       function_key should re-
  3853.                                       turn the key pressed and
  3854.                                       the previous_position 
  3855.                                       in the string
  3856.  
  3857.         4    call get after typing    last should be 0 and  facility
  3858.              nothing at the           function_count should
  3859.              keyboard                 be 0
  3860.  
  3861.         5    call get with a          a timeout should occur   facility
  3862.              reachable timeout        and the procedure
  3863.              value and do not type    should return
  3864.              anything for at least
  3865.              that length of time
  3866.  
  3867.  
  3868.  
  3869.  
  3870.  
  3871.  
  3872.  
  3873.  
  3874.  
  3875.  
  3876.  
  3877.  
  3878.  
  3879.  
  3880.  
  3881.  
  3882.  
  3883.  
  3884.  
  3885.  
  3886.                                  A-10
  3887.                                                    TEST SPECIFICATIONS
  3888.  
  3889.  
  3890.      A.8  BELL
  3891.  
  3892.      A.8.1  REQUIREMENTS MET BY TEST
  3893.  
  3894.           This test specification satisfies the ringing the bell
  3895.      requirement for the scroll_mode terminal.
  3896.  
  3897.      A.8.2  DESCRIPTION OF TEST
  3898.  
  3899.           The test shall include an attempt to ring the terminal's bell as
  3900.      described in the TCF.
  3901.  
  3902.      A.8.3  ASSUMPTIONS
  3903.  
  3904.           The scroll_mode terminal must be opened prior to the test.
  3905.  
  3906.      A.8.4  TEST SYNOPSIS
  3907.  
  3908.           The following table summarizes the test data, expected outputs,
  3909.      and test categories addressed by the associated test data.
  3910.  
  3911.  
  3912.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  3913.      =====   ==========               ================      ==========
  3914.  
  3915.        1     call bell                the terminal's bell   facility
  3916.                                       should ring. (The user 
  3917.                                       can tailor this as
  3918.                                       he wishes).
  3919.  
  3920.  
  3921.  
  3922.  
  3923.  
  3924.  
  3925.  
  3926.  
  3927.  
  3928.  
  3929.  
  3930.  
  3931.  
  3932.  
  3933.  
  3934.  
  3935.  
  3936.  
  3937.  
  3938.  
  3939.  
  3940.  
  3941.  
  3942.  
  3943.  
  3944.                                  A-11
  3945. TEST SPECIFICATIONS
  3946.  
  3947.  
  3948.      TEST SPECIFICATIONS FOR THE PAGE MODE TERMINAL
  3949.  
  3950.  
  3951.  
  3952.      A.9  SET_TAB
  3953.  
  3954.      A.9.1  REQUIREMENTS MET BY TEST
  3955.  
  3956.           This test specification satisfies the tab stop setting
  3957.      requirement for the page_mode terminal.
  3958.  
  3959.      A.9.2  DESCRIPTION OF TEST
  3960.  
  3961.           The test shall include making a call on set_tab followed by a
  3962.      call on update_line.  The call on set_tab should position a tab stop
  3963.      at the current active position on the virtual display.  The tab stop
  3964.      should remain in the same column on succeeding lines.  We will then
  3965.      make a call on tab after a new_line has been issued to see if the
  3966.      set_tab worked properly.
  3967.  
  3968.      A.9.3  ASSUMPTIONS
  3969.  
  3970.           The page_mode terminal must be opened prior to the test.
  3971.  
  3972.      A.9.4  TEST SYNOPSIS
  3973.  
  3974.           The following table summarizes the test data, expected outputs,
  3975.      and test categories addressed by the associated test data.
  3976.  
  3977.  
  3978.      INDEX   INPUT DATA              EXPECTED RESULTS  CATEGORIES
  3979.      =====   ==========              ================  ==========
  3980.  
  3981.        1     call on set_tab         tab stop set at   facility
  3982.                                      active position
  3983.  
  3984.        2     call on set_tab         tab stop remains  facility 
  3985.              while active position   no apparent  
  3986.              is on a tab stop        action
  3987.  
  3988.  
  3989.  
  3990.  
  3991.  
  3992.  
  3993.  
  3994.  
  3995.  
  3996.  
  3997.  
  3998.  
  3999.  
  4000.  
  4001.  
  4002.                                  A-12
  4003.                                                    TEST SPECIFICATIONS
  4004.  
  4005.  
  4006.      A.10  CLEAR_TAB
  4007.  
  4008.      A.10.1  REQUIREMENTS MET BY TEST
  4009.  
  4010.           This test specification satisfies the clear tab stop requirement
  4011.      for the page_mode terminal.
  4012.  
  4013.      A.10.2  DESCRIPTION OF TEST
  4014.  
  4015.           The test shall include removing a tab stop at the active position
  4016.      on the page mode terminal.
  4017.  
  4018.      A.10.3  ASSUMPTIONS
  4019.  
  4020.           The page_mode terminal must be opened prior to the test.
  4021.  
  4022.      A.10.4  TEST SYNOPSIS
  4023.  
  4024.           The following table summarizes the test data, expected outputs,
  4025.      and test categories addressed by the associated test data.
  4026.  
  4027.  
  4028.      INDEX   INPUT DATA              EXPECTED RESULTS  CATEGORIES
  4029.      =====   ==========              ================  ==========
  4030.  
  4031.        1     call on clear_tab       tab stop removed  facility
  4032.              while active position
  4033.              is on a tab stop             
  4034.  
  4035.        2     call on clear_tab       no apparent       facility
  4036.              while active position   action
  4037.              is not on a tab stop    
  4038.  
  4039.  
  4040.  
  4041.  
  4042.  
  4043.  
  4044.  
  4045.  
  4046.  
  4047.  
  4048.  
  4049.  
  4050.  
  4051.  
  4052.  
  4053.  
  4054.  
  4055.  
  4056.  
  4057.  
  4058.  
  4059.  
  4060.                                  A-13
  4061. TEST SPECIFICATIONS
  4062.  
  4063.  
  4064.      A.11  TAB
  4065.  
  4066.      A.11.1  REQUIREMENTS MET BY TEST
  4067.  
  4068.           This test specification satisfies the moving to a tab stop
  4069.      requirement for the page_mode terminal.
  4070.  
  4071.      A.11.2  DESCRIPTION OF TEST
  4072.  
  4073.           The test shall include moving the active position to a tab stop
  4074.      from the current active position on the page mode terminal.
  4075.  
  4076.      A.11.3  ASSUMPTIONS
  4077.  
  4078.           The page_mode terminal must be opened prior to the test.
  4079.  
  4080.      A.11.4  TEST SYNOPSIS
  4081.  
  4082.           The following table summarizes the test data, expected outputs,
  4083.      and test categories addressed by the associated test data.
  4084.  
  4085.  
  4086.      INDEX   INPUT DATA              EXPECTED RESULTS    CATEGORIES
  4087.      =====   ==========              ================    ==========
  4088.  
  4089.        1     call on tab with no     no operation will    facility
  4090.              tab stops set           occur
  4091.  
  4092.        2     call on tab with a      the act. pos. should  facility
  4093.              tab stop remaining      be moved to this tab
  4094.              to the right of the     stop
  4095.              active position 
  4096.  
  4097.        3     call on tab while the   the act. pos should   facliity
  4098.              act. pos. is to the     be positioned at the
  4099.              right of a tab stop     first tab stop on the
  4100.                                      next line
  4101.                                      
  4102.  
  4103.        4     call on tab with a      the active postion    facility
  4104.              the parameter count     will be moved the spec-
  4105.              equal to some number    ified number of tab
  4106.              greater than one        stops
  4107.  
  4108.  
  4109.  
  4110.  
  4111.  
  4112.  
  4113.  
  4114.  
  4115.  
  4116.  
  4117.  
  4118.                                  A-14
  4119.                                                    TEST SPECIFICATIONS
  4120.  
  4121.  
  4122.      A.12  NEW_LINE
  4123.  
  4124.      A.12.1  REQUIREMENTS MET BY TEST
  4125.  
  4126.           This test specification satisfies the moving to a new line
  4127.      requirement for the page_mode terminal, and the setting tab stops
  4128.      requirement.
  4129.  
  4130.      A.12.2  DESCRIPTION OF TEST
  4131.  
  4132.           The test shall include moving the active position to a new line
  4133.      from the current active position on the page mode terminal.  Moving to
  4134.      a new line in the page mode terminal will consist of a call on set
  4135.      position and erase_in_line or a call on insert_line to move to a new
  4136.      line.
  4137.  
  4138.      A.12.3  ASSUMPTIONS
  4139.  
  4140.           The page_mode terminal must be opened prior to the test.
  4141.  
  4142.      A.12.4  TEST SYNOPSIS
  4143.  
  4144.           The following table summarizes the test data, expected outputs,
  4145.      and test categories addressed by the associated test data.
  4146.  
  4147.  
  4148.      INDEX   INPUT DATA              EXPECTED RESULTS    CATEGORIES
  4149.      =====   ==========              ================    ==========
  4150.  
  4151.        1     move to a new line      the active position   facility
  4152.              from the beginning,     should move to the      
  4153.              end, and some internal  beginning of the 
  4154.              position on the line    new line
  4155.                             
  4156.        2     move to a new line      the tab stop should   facility    
  4157.              with a tab stop set     remain on the the
  4158.              on the line             next line,  new_
  4159.                                      line postions the 
  4160.                                      act. pos. at the
  4161.                                      beginning of the 
  4162.                                      next line
  4163.                                      
  4164.  
  4165.  
  4166.  
  4167.  
  4168.  
  4169.  
  4170.  
  4171.  
  4172.  
  4173.  
  4174.  
  4175.  
  4176.                                  A-15
  4177. TEST SPECIFICATIONS
  4178.  
  4179.  
  4180.      A.13  NEW_PAGE
  4181.  
  4182.      A.13.1  REQUIREMENTS MET BY TEST
  4183.  
  4184.           This test specification satisfies the moving to a new page
  4185.      requirement for the page_mode terminal.
  4186.  
  4187.      A.13.2  DESCRIPTION OF TEST
  4188.  
  4189.           The test shall include moving the active position to a new page
  4190.      from the current active position on the page mode terminal.  The
  4191.      new_page requirement for the page_mode terminal is fulfilled by
  4192.      calling set_position (1, 1) and erase_display.
  4193.  
  4194.      A.13.3  ASSUMPTIONS
  4195.  
  4196.           The page_mode terminal must be opened prior to the test.
  4197.  
  4198.      A.13.4  TEST SYNOPSIS
  4199.  
  4200.           The following table summarizes the test data, expected outputs,
  4201.      and test categories addressed by the associated test data.
  4202.  
  4203.  
  4204.      INDEX   INPUT DATA              EXPECTED RESULTS    CATEGORIES
  4205.      =====   ==========              ================    ==========
  4206.  
  4207.        1     invoke a new page from  the active position   facility
  4208.              the beginning, end,     should move to the      
  4209.              and some internal       beginning of the 
  4210.              position on the line    next page
  4211.                             
  4212.        
  4213.  
  4214.  
  4215.  
  4216.  
  4217.  
  4218.  
  4219.  
  4220.  
  4221.  
  4222.  
  4223.  
  4224.  
  4225.  
  4226.  
  4227.  
  4228.  
  4229.  
  4230.  
  4231.  
  4232.  
  4233.  
  4234.                                  A-16
  4235.                                                    TEST SPECIFICATIONS
  4236.  
  4237.  
  4238.      A.14  PUT
  4239.  
  4240.      A.14.1  REQUIREMENTS MET BY TEST
  4241.  
  4242.           This test specification satisfies the writing characters and
  4243.      strings to the display requirement for the page_mode terminal.
  4244.  
  4245.      A.14.2  DESCRIPTION OF TEST
  4246.  
  4247.           The test shall include writing various strings and characters to
  4248.      the display.
  4249.  
  4250.      A.14.3  ASSUMPTIONS
  4251.  
  4252.           The page_mode terminal must be opened prior to the test.
  4253.  
  4254.      A.14.4  TEST SYNOPSIS
  4255.  
  4256.           The following table summarizes the test data, expected outputs,
  4257.      and test categories addressed by the associated test data.
  4258.  
  4259.  
  4260.      INDEX   INPUT DATA              EXPECTED RESULTS    CATEGORIES
  4261.      =====   ==========              ================    ==========
  4262.  
  4263.        1     call put with a         after an update_      facility
  4264.              single char             line is called 
  4265.                                      the char written
  4266.                                      should appear on the
  4267.                                      actual screen with
  4268.                                      the act. pos. just 
  4269.                                      past the char
  4270.                 
  4271.        2     call put with a         after update_line is  facility
  4272.              string which does not   called the string
  4273.              exceed the line length  written should appear
  4274.                                      on the actual screen
  4275.                                      with the act. pos.
  4276.                                      just past the string 
  4277.  
  4278.  
  4279.  
  4280.  
  4281.  
  4282.  
  4283.  
  4284.  
  4285.  
  4286.  
  4287.  
  4288.  
  4289.  
  4290.  
  4291.  
  4292.                                  A-17
  4293. TEST SPECIFICATIONS
  4294.  
  4295.  
  4296.  
  4297.  
  4298.        3     call put with a string  after update_line is    facility
  4299.              which when written      called the string will
  4300.              will exceed the max     appear but anything
  4301.              line length             written past the max
  4302.                                      line length will be 
  4303.                                      lost, the act. pos.
  4304.                                      should be at the last
  4305.                                      char written 
  4306.  
  4307.  
  4308.  
  4309.  
  4310.  
  4311.  
  4312.  
  4313.  
  4314.  
  4315.  
  4316.  
  4317.  
  4318.  
  4319.  
  4320.  
  4321.  
  4322.  
  4323.  
  4324.  
  4325.  
  4326.  
  4327.  
  4328.  
  4329.  
  4330.  
  4331.  
  4332.  
  4333.  
  4334.  
  4335.  
  4336.  
  4337.  
  4338.  
  4339.  
  4340.  
  4341.  
  4342.  
  4343.  
  4344.  
  4345.  
  4346.  
  4347.  
  4348.  
  4349.  
  4350.                                  A-18
  4351.                                                    TEST SPECIFICATIONS
  4352.  
  4353.  
  4354.      A.15  GET
  4355.  
  4356.      A.15.1  REQUIREMENTS MET BY TEST
  4357.  
  4358.           This test specification satisfies the reading characters and
  4359.      strings from the keyboard requirement for the page_mode terminal.
  4360.  
  4361.      A.15.2  DESCRIPTION OF TEST
  4362.  
  4363.           The test shall include an explicit call on get to make sure that
  4364.      what we type from the keyboard is the only thing that the next call on
  4365.      get will see.  We will then enter various combinations of characters
  4366.      and function keys and see if the get returns our input correctly.
  4367.  
  4368.      A.15.3  ASSUMPTIONS
  4369.  
  4370.           The page_mode terminal must be opened prior to the test.
  4371.  
  4372.      A.15.4  TEST SYNOPSIS
  4373.  
  4374.           The following table summarizes the test data, expected outputs,
  4375.      and test categories addressed by the associated test data.
  4376.  
  4377.  
  4378.      INDEX   INPUT DATA              EXPECTED RESULTS    CATEGORIES
  4379.      =====   ==========              ================    ==========
  4380.  
  4381.        1     call get after typing   the string should   facility  
  4382.              a series of chars with  match the typed       
  4383.              no embedded function    input and last 
  4384.              keys, write out the     should match the
  4385.              string returned and     length of the string
  4386.              the parameter last               
  4387.  
  4388.  
  4389.  
  4390.  
  4391.  
  4392.  
  4393.  
  4394.  
  4395.  
  4396.  
  4397.  
  4398.  
  4399.  
  4400.  
  4401.  
  4402.  
  4403.  
  4404.  
  4405.  
  4406.  
  4407.  
  4408.                                  A-19
  4409. TEST SPECIFICATIONS
  4410.  
  4411.  
  4412.  
  4413.       
  4414.        2     call get after typing    last should be 0.    facility
  4415.              several function keys    the value returned     
  4416.              with no embedded chars,  from fuction_count
  4417.              call function_count to   should equal the 
  4418.              determine how many keys  number of keys pres- 
  4419.              were pressed, call       sed, function_key 
  4420.              function_key to get the  should return the
  4421.              actual key pressed       actual key pressed
  4422.              (you must call function-
  4423.              _key 'function_count'
  4424.              times.)
  4425.  
  4426.         3    call get after typing    last should equal    facility
  4427.              some chars and function  the number of chars    
  4428.              keys intermixed, repeat  typed. function_count
  4429.              the procedure of the     should equal the num- 
  4430.              previous test            ber of function keys
  4431.                                       pressed, calls on  
  4432.                                       function_key should re-
  4433.                                       turn the key pressed and
  4434.                                       the previous_position 
  4435.                                       in the string
  4436.  
  4437.         4    call get after typing    last should be 0 and    facility
  4438.              nothing at the           function_count should
  4439.              keyboard                 be 0
  4440.  
  4441.         5    call get with a          a timeout should occur  facility
  4442.              reachable timeout        and the procedure
  4443.              value and do not type    should return
  4444.              anything for at least
  4445.              that length of time
  4446.  
  4447.  
  4448.  
  4449.  
  4450.  
  4451.  
  4452.  
  4453.  
  4454.  
  4455.  
  4456.  
  4457.  
  4458.  
  4459.  
  4460.  
  4461.  
  4462.  
  4463.  
  4464.  
  4465.  
  4466.                                  A-20
  4467.                                                    TEST SPECIFICATIONS
  4468.  
  4469.  
  4470.      A.16  DELETE_CHARACTER
  4471.  
  4472.      A.16.1  REQUIREMENTS MET BY TEST
  4473.  
  4474.           This test specification satisfies the delete character from
  4475.      display requirement and the writing to the display requirements for
  4476.      the page_mode terminal.
  4477.  
  4478.      A.16.2  DESCRIPTION OF TEST
  4479.  
  4480.           The test shall include several calls on put to get some lines of
  4481.      input on the display.  We will then position the cursor in various
  4482.      spots and delete some characters.
  4483.  
  4484.      A.16.3  ASSUMPTIONS
  4485.  
  4486.           The page_mode terminal must be opened prior to the test.
  4487.  
  4488.      A.16.4  TEST SYNOPSIS
  4489.  
  4490.           The following table summarizes the test data, expected outputs,
  4491.      and test categories addressed by the associated test data.
  4492.  
  4493.  
  4494.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  4495.      =====   ==========               ================      ==========
  4496.  
  4497.        1     call put with several    the input lines       facility
  4498.              lines of input, then     should appear on       
  4499.              call update_screen       the actual display 
  4500.                 
  4501.        2     call delete_character    the characters at     facility
  4502.              from various positions   each act. pos. should  
  4503.              on the display, then     be removed from the 
  4504.              call update screen       actual display
  4505.  
  4506.  
  4507.  
  4508.  
  4509.  
  4510.  
  4511.  
  4512.  
  4513.  
  4514.  
  4515.  
  4516.  
  4517.  
  4518.  
  4519.  
  4520.  
  4521.  
  4522.  
  4523.  
  4524.                                  A-21
  4525. TEST SPECIFICATIONS
  4526.  
  4527.  
  4528.        3     call delete_charater     the chars deleted      facility
  4529.              with a parameter great-  include the char the     
  4530.              er than one, then call   act. pos. is on and
  4531.              update screen            all chars to the right
  4532.                                       up to the parameter
  4533.                                       count, the chars to the
  4534.                                       right of the deleted
  4535.                                       chars are shifted left 
  4536.                                       and the line fills with
  4537.                                       blanks from the right
  4538.              
  4539.        4     call with the parameter  the line should be     facility
  4540.              count greater than       deleted from the act.
  4541.              the number of remaining  pos. to the end of the
  4542.              chars on the line, then  line, blanks fill from
  4543.              call update screen       the right
  4544.  
  4545.        5     call delete_character    an error should occur,  facility
  4546.              with a negative sub-     only a positive value
  4547.              script                   is allowed as a para-
  4548.                                       meter
  4549.  
  4550.  
  4551.  
  4552.  
  4553.  
  4554.  
  4555.  
  4556.  
  4557.  
  4558.  
  4559.  
  4560.  
  4561.  
  4562.  
  4563.  
  4564.  
  4565.  
  4566.  
  4567.  
  4568.  
  4569.  
  4570.  
  4571.  
  4572.  
  4573.  
  4574.  
  4575.  
  4576.  
  4577.  
  4578.  
  4579.  
  4580.  
  4581.  
  4582.                                  A-22
  4583.                                                    TEST SPECIFICATIONS
  4584.  
  4585.  
  4586.      A.17  DELETE_LINE
  4587.  
  4588.      A.17.1  REQUIREMENTS MET BY TEST
  4589.  
  4590.           This test specification satisfies the delete line from display
  4591.      requirement and the writing to the display requirements for the
  4592.      page_mode terminal.
  4593.  
  4594.      A.17.2  DESCRIPTION OF TEST
  4595.  
  4596.           The test shall include several calls on put to get some lines of
  4597.      input on the display.  We will then position the cursor in various
  4598.      spots and delete some lines.
  4599.  
  4600.      A.17.3  ASSUMPTIONS
  4601.  
  4602.           The page_mode terminal must be opened prior to the test.
  4603.  
  4604.      A.17.4  TEST SYNOPSIS
  4605.  
  4606.           The following table summarizes the test data, expected outputs,
  4607.      and test categories addressed by the associated test data.
  4608.  
  4609.  
  4610.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  4611.      =====   ==========               ================      ==========
  4612.  
  4613.        1     call put with several    the input lines       facility
  4614.              lines of input, then     should appear on       
  4615.              call update_screen       the actual display 
  4616.                 
  4617.        2     call delete_line with    the line the act.     facility  
  4618.              the act. pos. in the     pos. was on should     
  4619.              middle, at the end,      be deleted and the 
  4620.              and at the beginning.    cursor will be at the
  4621.              then call update screen  beginning of the next
  4622.                                       line
  4623.       
  4624.        3     call delete_line from    the top line should    facility
  4625.              the top of the screen,   be deleted, the lines
  4626.              call update screen       below it will shift
  4627.                                       up, a blank line will
  4628.                                       fill in the bottom
  4629.  
  4630.  
  4631.  
  4632.  
  4633.  
  4634.  
  4635.  
  4636.  
  4637.  
  4638.  
  4639.  
  4640.                                  A-23
  4641. TEST SPECIFICATIONS
  4642.  
  4643.  
  4644.              
  4645.        4     call delete_line from    the line containing    facility
  4646.              the middle of the        the act. pos. should
  4647.              screen, then call        be deleted, the foll-
  4648.              update screen            owing lines should
  4649.                                       shift up and the 
  4650.                                       cursor will be placed 
  4651.                                       at the beginning of the
  4652.                                       next line    
  4653.  
  4654.        5     call delete_line from    the last line should   facility
  4655.              the last line on the     be deleted, and the 
  4656.              display, then update     cursor will be at the
  4657.              screen                   beginning of the next
  4658.                                       line (blank) 
  4659.  
  4660.        6     call delete_line with    the number of lines    facility
  4661.              a parameter greater      specified should be     
  4662.              than one, move the act.  deleted from the 
  4663.              pos. toward the bottom   first act. pos. on-
  4664.              of the screen call       ward, then the screen
  4665.              delete_line again        should be blank from
  4666.              with count greater       the place the act.
  4667.              than one and more than   pos. was postioned 
  4668.              the number of lines      to the bottom of the 
  4669.              left, update screen      screen
  4670.  
  4671.  
  4672.  
  4673.  
  4674.  
  4675.  
  4676.  
  4677.  
  4678.  
  4679.  
  4680.  
  4681.  
  4682.  
  4683.  
  4684.  
  4685.  
  4686.  
  4687.  
  4688.  
  4689.  
  4690.  
  4691.  
  4692.  
  4693.  
  4694.  
  4695.  
  4696.  
  4697.  
  4698.                                  A-24
  4699.                                                    TEST SPECIFICATIONS
  4700.  
  4701.  
  4702.      A.18  ERASE_IN_DISPLAY
  4703.  
  4704.      A.18.1  REQUIREMENTS MET BY TEST
  4705.  
  4706.           This test specification satisfies the erasing charaters from the
  4707.      display requirement for the page_mode terminal, along with the writing
  4708.      characters to the display requirement.
  4709.  
  4710.      A.18.2  DESCRIPTION OF TEST
  4711.  
  4712.           The test shall include several calls on put to get some lines of
  4713.      input on the display.  We will then position the cursor in various
  4714.      spots and erase some characters from the display.
  4715.  
  4716.      A.18.3  ASSUMPTIONS
  4717.  
  4718.           The page_mode terminal must be opened prior to the test.
  4719.  
  4720.      A.18.4  TEST SYNOPSIS
  4721.  
  4722.           The following table summarizes the test data, expected outputs,
  4723.      and test categories addressed by the associated test data.
  4724.  
  4725.  
  4726.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  4727.      =====   ==========               ================      ==========
  4728.  
  4729.        1     call put with several    the input lines       facility
  4730.              lines of input, then     should appear on       
  4731.              call update_screen       the actual display 
  4732.                 
  4733.        2     position the act. pos.   the entire screen     facility
  4734.              somewhere in the middle  should be erased,      
  4735.              of the screen. call      the cursor should
  4736.              erase_in_display with    not move from the
  4737.              a parameter of all_-     active position
  4738.              positions, update
  4739.              screen
  4740.       
  4741.        3     get some more data on    the display should    facility 
  4742.              the actual display and   be erased from the 
  4743.              call erase_in_display    top of the screen
  4744.              with the act. pos.       to, but not including,
  4745.              somewhere in the middle  the act. pos.
  4746.              of the screen, erase
  4747.              the display from the
  4748.              top to the act. pos.,
  4749.              call update screen                    
  4750.  
  4751.  
  4752.  
  4753.  
  4754.  
  4755.  
  4756.                                  A-25
  4757. TEST SPECIFICATIONS
  4758.  
  4759.  
  4760.  
  4761.  
  4762.              
  4763.        4     call erase_in_display    the remaining data     facility 
  4764.              with a parameter to      on the display 
  4765.              erase from the act.      should be erased,
  4766.              pos. to the end of       the cursor should 
  4767.              the virtual display,     be left alone
  4768.              erase from the position
  4769.              left by the previous
  4770.              test, update screen
  4771.  
  4772.        5     try erasing from the     nothing should 
  4773.              act. pos. to the end     happen
  4774.              of the display when
  4775.              the act. pos. is at
  4776.              the end of screen
  4777.  
  4778.  
  4779.  
  4780.  
  4781.  
  4782.  
  4783.  
  4784.  
  4785.  
  4786.  
  4787.  
  4788.  
  4789.  
  4790.  
  4791.  
  4792.  
  4793.  
  4794.  
  4795.  
  4796.  
  4797.  
  4798.  
  4799.  
  4800.  
  4801.  
  4802.  
  4803.  
  4804.  
  4805.  
  4806.  
  4807.  
  4808.  
  4809.  
  4810.  
  4811.  
  4812.  
  4813.  
  4814.                                  A-26
  4815.                                                    TEST SPECIFICATIONS
  4816.  
  4817.  
  4818.      A.19  ERASE_IN_LINE
  4819.  
  4820.      A.19.1  REQUIREMENTS MET BY TEST
  4821.  
  4822.           This test specification satisfies the erasing charaters between
  4823.      specific positions on the display requirement for the page_mode
  4824.      terminal, along with the writing characters to the display
  4825.      requirement.
  4826.  
  4827.      A.19.2  DESCRIPTION OF TEST
  4828.  
  4829.           The test shall include several calls on put to get some lines of
  4830.      input on the display.  We will then position the cursor in various
  4831.      spots and erase some characters from the display.
  4832.  
  4833.      A.19.3  ASSUMPTIONS
  4834.  
  4835.           The page_mode terminal must be opened prior to the test.
  4836.  
  4837.      A.19.4  TEST SYNOPSIS
  4838.  
  4839.           The following table summarizes the test data, expected outputs,
  4840.      and test categories addressed by the associated test data.
  4841.  
  4842.  
  4843.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  4844.      =====   ==========               ================      ==========
  4845.  
  4846.        1     call put with several    the input lines       facility
  4847.              lines of input, then     should appear on       
  4848.              call update_screen       the actual display 
  4849.                 
  4850.        2     position the act. pos.   the entire line       facility
  4851.              somewhere in the middle  should be erased,      
  4852.              of the line. call        the cursor should
  4853.              erase_in_line  with      not move from the
  4854.              a parameter of all_-     active position
  4855.              positions, update
  4856.              screen
  4857.       
  4858.        3     move the act. pos.       the display should    facility 
  4859.              to another line on the   be erased from the 
  4860.              display, call erase_in_  beginning of the line
  4861.              line with the act. pos.  to, but not including,
  4862.              somewhere in the middle  the act. pos.
  4863.              of the line, erase
  4864.              the display from the
  4865.              beginning to the act.
  4866.              pos., update screen
  4867.  
  4868.  
  4869.  
  4870.  
  4871.  
  4872.                                  A-27
  4873. TEST SPECIFICATIONS
  4874.  
  4875.  
  4876.  
  4877.  
  4878.              
  4879.        4     call erase_in_display    the remaining data     facility 
  4880.              with a parameter to      on the line
  4881.              erase from the act.      should be erased,
  4882.              pos. to the end of       the cursor should 
  4883.              a line on the display,   be left alone
  4884.              erase from the position
  4885.              left by the previous
  4886.              test, update screen
  4887.  
  4888.        5     try erasing from the     nothing should 
  4889.              act. pos. to the end     happen
  4890.              of the line when
  4891.              the act. pos. is at
  4892.              the end of line
  4893.  
  4894.  
  4895.  
  4896.  
  4897.  
  4898.  
  4899.  
  4900.  
  4901.  
  4902.  
  4903.  
  4904.  
  4905.  
  4906.  
  4907.  
  4908.  
  4909.  
  4910.  
  4911.  
  4912.  
  4913.  
  4914.  
  4915.  
  4916.  
  4917.  
  4918.  
  4919.  
  4920.  
  4921.  
  4922.  
  4923.  
  4924.  
  4925.  
  4926.  
  4927.  
  4928.  
  4929.  
  4930.                                  A-28
  4931.                                                    TEST SPECIFICATIONS
  4932.  
  4933.  
  4934.      A.20  INSERT CHARACTERS
  4935.  
  4936.      A.20.1  REQUIREMENTS MET BY TEST
  4937.  
  4938.           This test specification satisfies the inserting characters onto
  4939.      the display requirement for the page_mode terminal, along with the
  4940.      writing characters to the display requirement.
  4941.  
  4942.      A.20.2  DESCRIPTION OF TEST
  4943.  
  4944.           The test shall include several calls on put to get some lines of
  4945.      input on the display.  We will then position the cursor in various
  4946.      spots and insert some characters to the display.
  4947.  
  4948.      A.20.3  ASSUMPTIONS
  4949.  
  4950.           The page_mode terminal must be opened prior to the test.
  4951.  
  4952.      A.20.4  TEST SYNOPSIS
  4953.  
  4954.           The following table summarizes the test data, expected outputs,
  4955.      and test categories addressed by the associated test data.
  4956.  
  4957.  
  4958.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  4959.      =====   ==========               ================      ==========
  4960.  
  4961.        1     call put with several    the input lines       facility
  4962.              lines of input, then     should appear on       
  4963.              call update_screen       the actual display 
  4964.                 
  4965.        2     position the act. pos.   the chars type in at  facility
  4966.              in the middle of one of  the keyboard should 
  4967.              the lines with data on   be located immediately
  4968.              it. call enter_insert_-  before the act. pos. 
  4969.              mode, then type some     in appropriate order,
  4970.              chars in from the key-   the act. pos. moves
  4971.              board, update screen     right the number of
  4972.                                       chars written 
  4973.  
  4974.  
  4975.  
  4976.  
  4977.  
  4978.  
  4979.  
  4980.  
  4981.  
  4982.  
  4983.  
  4984.  
  4985.  
  4986.  
  4987.  
  4988.                                  A-29
  4989. TEST SPECIFICATIONS
  4990.  
  4991.  
  4992.  
  4993.        3     position the act. pos.   the chars previous     facility
  4994.              at the end of a line,    to the max line length 
  4995.              type enough chars to     will be inserted, the 
  4996.              make the line exceed     ones past this point
  4997.              the max line length,     are lost 
  4998.              update screen
  4999.  
  5000.        4     position the act. pos.   no chars should be
  5001.              back in the middle of    written to the
  5002.              a line, call exit_-      screen, the act. pos.
  5003.              insert_mode, try         should not move
  5004.              typing in some chars,
  5005.              update screen 
  5006.  
  5007.  
  5008.  
  5009.  
  5010.  
  5011.  
  5012.  
  5013.  
  5014.  
  5015.  
  5016.  
  5017.  
  5018.  
  5019.  
  5020.  
  5021.  
  5022.  
  5023.  
  5024.  
  5025.  
  5026.  
  5027.  
  5028.  
  5029.  
  5030.  
  5031.  
  5032.  
  5033.  
  5034.  
  5035.  
  5036.  
  5037.  
  5038.  
  5039.  
  5040.  
  5041.  
  5042.  
  5043.  
  5044.  
  5045.  
  5046.                                  A-30
  5047.                                                    TEST SPECIFICATIONS
  5048.  
  5049.  
  5050.      A.21  INSERT_LINE
  5051.  
  5052.      A.21.1  REQUIREMENTS MET BY TEST
  5053.  
  5054.           This test specification satisfies the inserting lines onto the
  5055.      display requirement for the page_mode terminal, along with the writing
  5056.      characters to the display requirement.
  5057.  
  5058.      A.21.2  DESCRIPTION OF TEST
  5059.  
  5060.           The test shall include several calls on put to get some lines of
  5061.      input on the display.  We will then position the cursor in various
  5062.      spots and insert some lines in the display.
  5063.  
  5064.      A.21.3  ASSUMPTIONS
  5065.  
  5066.           The page_mode terminal must be opened prior to the test.
  5067.  
  5068.      A.21.4  TEST SYNOPSIS
  5069.  
  5070.           The following table summarizes the test data, expected outputs,
  5071.      and test categories addressed by the associated test data.
  5072.  
  5073.  
  5074.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  5075.      =====   ==========               ================      ==========
  5076.  
  5077.        1     call put with several    the input lines       facility
  5078.              lines of input, then     should appear on       
  5079.              call update_screen       the actual display 
  5080.                 
  5081.        2     position the act. pos.   blank lines should    facility
  5082.              on the top, middle, and  be inserted where
  5083.              bottom of the display,   ever the act. pos.
  5084.              call insert_line from    was when insert line
  5085.              these vaious spots,      was called, the cursor
  5086.              update screen            will be at the begin-
  5087.                                       ning of the blank line
  5088.                                       corresponding with the
  5089.                                       last call on insert_-
  5090.                                       line, lines below the
  5091.                                       inserted line are 
  5092.                                       pushed downward
  5093.  
  5094.  
  5095.  
  5096.  
  5097.  
  5098.  
  5099.  
  5100.  
  5101.  
  5102.  
  5103.  
  5104.                                  A-31
  5105. TEST SPECIFICATIONS
  5106.  
  5107.  
  5108.  
  5109.        3     call insert_line with    there should be as    facility
  5110.              a parameter greater      blank lines specified
  5111.              than one, update screen  in the call inserted
  5112.                                       into the display, the
  5113.                                       cursor will be located
  5114.                                       at the first blank line
  5115.                                       inserted, any lines
  5116.                                       pushed off the display
  5117.                                       are lost
  5118.  
  5119.  
  5120.  
  5121.  
  5122.  
  5123.  
  5124.  
  5125.  
  5126.  
  5127.  
  5128.  
  5129.  
  5130.  
  5131.  
  5132.  
  5133.  
  5134.  
  5135.  
  5136.  
  5137.  
  5138.  
  5139.  
  5140.  
  5141.  
  5142.  
  5143.  
  5144.  
  5145.  
  5146.  
  5147.  
  5148.  
  5149.  
  5150.  
  5151.  
  5152.  
  5153.  
  5154.  
  5155.  
  5156.  
  5157.  
  5158.  
  5159.  
  5160.  
  5161.  
  5162.                                  A-32
  5163.                                                    TEST SPECIFICATIONS
  5164.  
  5165.  
  5166.      A.22  SELECT_GRAPHIC_RENDITION
  5167.  
  5168.      A.22.1  REQUIREMENTS MET BY TEST
  5169.  
  5170.           This test specification satisfies the setting graphic rendition
  5171.      requirement for the form_mode terminal, along with the writing
  5172.      characters and inserting characters to the display requirements.
  5173.  
  5174.      A.22.2  DESCRIPTION OF TEST
  5175.  
  5176.           The test shall include several calls on put to get some lines of
  5177.      input on the display.  We will then change the rendition of the
  5178.      display and check to see if it is done properly.
  5179.  
  5180.      A.22.3  ASSUMPTIONS
  5181.  
  5182.           The form_mode terminal must be opened prior to the test.
  5183.  
  5184.      A.22.4  TEST SYNOPSIS
  5185.  
  5186.           The following table summarizes the test data, expected outputs,
  5187.      and test categories addressed by the associated test data.
  5188.  
  5189.  
  5190.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  5191.      =====   ==========               ================      ==========
  5192.  
  5193.        1     call put with several    the input lines       facility
  5194.              lines of input, then     should appear on       
  5195.              call update_screen       the actual display 
  5196.                 
  5197.        2     position the act. pos.   the chars entered     facility
  5198.              in the middle of a line  should appear in
  5199.              of input, call select_   reverse image, usally
  5200.              graphic_rendition with   defined as dark chars
  5201.              reverse_image, call      on light background, 
  5202.              put with a string        cursor should 
  5203.              of data, update screen   again be located past
  5204.                                       the inserted chars
  5205.              
  5206.        3     call select_graphic_-    the string should be   facility
  5207.              rendition with the same  written with the same
  5208.              value that is presently  rendition as the other
  5209.              active, write a string   chars, the act. pos.
  5210.              to the display, update   will be just past the
  5211.              screen                   string written 
  5212.  
  5213.  
  5214.  
  5215.  
  5216.  
  5217.  
  5218.  
  5219.  
  5220.                                  A-33
  5221. TEST SPECIFICATIONS
  5222.  
  5223.  
  5224.      A.23  BELL
  5225.  
  5226.      A.23.1  REQUIREMENTS MET BY TEST
  5227.  
  5228.           This test specification satisfies the ringing the bell
  5229.      requirement for the scroll_mode terminal.
  5230.  
  5231.      A.23.2  DESCRIPTION OF TEST
  5232.  
  5233.           The test shall include an attempt to ring the terminal's bell as
  5234.      described in the TCF.
  5235.  
  5236.      A.23.3  ASSUMPTIONS
  5237.  
  5238.           The scroll_mode terminal must be opened prior to the test.
  5239.  
  5240.      A.23.4  TEST SYNOPSIS
  5241.  
  5242.           The following table summarizes the test data, expected outputs,
  5243.      and test categories addressed by the associated test data.
  5244.  
  5245.  
  5246.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  5247.      =====   ==========               ================      ==========
  5248.  
  5249.        1     call bell                the terminal's bell   facility
  5250.                                       should ring. (The 
  5251.                                       user can tailor this 
  5252.                                       as he wishes).
  5253.  
  5254.  
  5255.  
  5256.  
  5257.  
  5258.  
  5259.  
  5260.  
  5261.  
  5262.  
  5263.  
  5264.  
  5265.  
  5266.  
  5267.  
  5268.  
  5269.  
  5270.  
  5271.  
  5272.  
  5273.  
  5274.  
  5275.  
  5276.  
  5277.  
  5278.                                  A-34
  5279.                                                    TEST SPECIFICATIONS
  5280.  
  5281.  
  5282.      TEST SPECIFICATIONS FOR THE FORM MODE TERMINAL
  5283.  
  5284.  
  5285.  
  5286.  
  5287.      A.24  DEFINE_QUALIFIED_AREAS
  5288.  
  5289.      A.24.1  REQUIREMENTS MET BY TEST
  5290.  
  5291.           This test specification satisfies the defining qualified areas on
  5292.      the display requirement and the move by tab stops requirement for the
  5293.      form_mode terminal.
  5294.  
  5295.      A.24.2  DESCRIPTION OF TEST
  5296.  
  5297.           The test shall include defining several qualified areas with
  5298.      various characteristics and showing that they exist with the
  5299.      characteristics described.
  5300.  
  5301.      A.24.3  ASSUMPTIONS
  5302.  
  5303.           The form_mode terminal must be opened prior to the test.
  5304.  
  5305.      A.24.4  TEST SYNOPSIS
  5306.  
  5307.           The following table summarizes the test data, expected outputs,
  5308.      and test categories addressed by the associated test data.
  5309.  
  5310.  
  5311.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  5312.      =====   ==========               ================      ==========
  5313.  
  5314.        1     call define_qualified_-  Each qualified area    facility
  5315.              area with various        defined should exist   
  5316.              parameters in various    and have the charact-
  5317.              places on the display,   eristics specified
  5318.              activate form
  5319.  
  5320.        2     try accessing a pro-     Each individual test   facility
  5321.              tected area, write to a  should correctly
  5322.              unprotected area to show represent the char- 
  5323.              that it's intensity is   acteristics specified
  5324.              correct, check the       in the call on define_
  5325.              other parameters for     qualified_area
  5326.              correctness, activate
  5327.              form
  5328.  
  5329.  
  5330.  
  5331.  
  5332.  
  5333.  
  5334.  
  5335.  
  5336.                                  A-35
  5337. TEST SPECIFICATIONS
  5338.  
  5339.  
  5340.      A.25  CLEAR_QUALIFIED_AREAS
  5341.  
  5342.      A.25.1  REQUIREMENTS MET BY TEST
  5343.  
  5344.           This test specification satisfies the clearing qualified areas on
  5345.      the display requirement and the move by tab stops requirement for the
  5346.      form_mode terminal.
  5347.  
  5348.      A.25.2  DESCRIPTION OF TEST
  5349.  
  5350.           The test shall include taking a form that exists and clearing
  5351.      several of the qualified areas.  The previous qualified area to the
  5352.      one cleared should expand to fill the area cleared.  The active
  5353.      position must be at the beginning of a qualified area for the area to
  5354.      be cleared.
  5355.  
  5356.      A.25.3  ASSUMPTIONS
  5357.  
  5358.           The form_mode terminal must be opened prior to the test.
  5359.  
  5360.      A.25.4  TEST SYNOPSIS
  5361.  
  5362.           The following table summarizes the test data, expected outputs,
  5363.      and test categories addressed by the associated test data.
  5364.  
  5365.  
  5366.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  5367.      =====   ==========               ================      ==========
  5368.  
  5369.        1     call clear_qualified_-   the qualified area    facility
  5370.              area with the active     should be cleared 
  5371.              position located at the  from the form, the
  5372.              beginning of a qualified previous qualified
  5373.              area, position the       area should now
  5374.              cursor above the cleared encompass the cleared 
  5375.              area, tab to the next    area
  5376.              qualified area, 
  5377.              activate form
  5378.  
  5379.        2     clear the first          the area should be    facility
  5380.              qualified area on the    protected and set to
  5381.              display, activate form   blank
  5382.  
  5383.        3     clear a qualified area   nothing will happen,
  5384.              with the act. pos.       the area will still
  5385.              located in middle of     exist 
  5386.              the area, activate form 
  5387.  
  5388.  
  5389.  
  5390.  
  5391.  
  5392.  
  5393.  
  5394.                                  A-36
  5395.                                                    TEST SPECIFICATIONS
  5396.  
  5397.  
  5398.      A.26  TAB
  5399.  
  5400.      A.26.1  REQUIREMENTS MET BY TEST
  5401.  
  5402.           This test specification satisfies the moving by tab stops on the
  5403.      display requirement for the form_mode terminal.  The define qualified
  5404.      area requirement will also be satisfied within this test
  5405.      specification.
  5406.  
  5407.      A.26.2  DESCRIPTION OF TEST
  5408.  
  5409.           The test shall include taking a form that exists moving by tab
  5410.      stops to the next qualified area on the virtual display.  Areas must
  5411.      be defined before this requirement can be tested properly.
  5412.  
  5413.      A.26.3  ASSUMPTIONS
  5414.  
  5415.           The form_mode terminal must be opened prior to the test.
  5416.  
  5417.      A.26.4  TEST SYNOPSIS
  5418.  
  5419.           The following table summarizes the test data, expected outputs,
  5420.      and test categories addressed by the associated test data.
  5421.  
  5422.  
  5423.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  5424.      =====   ==========               ================      ==========
  5425.  
  5426.        1     call tab with a qual-    the cursor should     facility
  5427.              ified area defined       move to the begin-
  5428.              in front of the act.     ning of the next
  5429.              pos., activate form      qualified area
  5430.  
  5431.        2     call tab when at the     the cursor should be  facility
  5432.              last qualified area on   at the first quali-
  5433.              a line, activate form    fied area on the next
  5434.                                       line
  5435.  
  5436.        3     call tab when at the     the cursor should be  facility
  5437.              last qualified area on   at the first quali-
  5438.              the form, activate form  fied area of the form
  5439.  
  5440.        4     call tab with a para-    the cursor should be  facility
  5441.              meter greater than one,  positioned the spec-
  5442.              activate form            ified number of quali-
  5443.                                       fied areas toward the 
  5444.                                       end of the display
  5445.  
  5446.  
  5447.  
  5448.  
  5449.  
  5450.  
  5451.  
  5452.                                  A-37
  5453. TEST SPECIFICATIONS
  5454.  
  5455.  
  5456.      A.27  GET
  5457.  
  5458.      A.27.1  REQUIREMENTS MET BY TEST
  5459.  
  5460.           This test specification satisfies the reading characters and
  5461.      strings from the display requirement for the form_mode terminal.
  5462.  
  5463.      A.27.2  DESCRIPTION OF TEST
  5464.  
  5465.           The test shall include reading characters from the display as
  5466.      single characters and strings.
  5467.  
  5468.      A.27.3  ASSUMPTIONS
  5469.  
  5470.           The form_mode terminal must be opened prior to the test.
  5471.  
  5472.      A.27.4  TEST SYNOPSIS
  5473.  
  5474.           The following table summarizes the test data, expected outputs,
  5475.      and test categories addressed by the associated test data.
  5476.  
  5477.  
  5478.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  5479.      =====   ==========               ================      ==========
  5480.  
  5481.        1     read a character from    check to see that     facility    
  5482.              the act. pos., move the  the get reads the
  5483.              act. pos. to a new qual- data correctly, the 
  5484.              ified area and read a    act. pos. should be
  5485.              string, activate form    located just past the
  5486.                                       last char read 
  5487.  
  5488.  
  5489.  
  5490.  
  5491.  
  5492.  
  5493.  
  5494.  
  5495.  
  5496.  
  5497.  
  5498.  
  5499.  
  5500.  
  5501.  
  5502.  
  5503.  
  5504.  
  5505.  
  5506.  
  5507.  
  5508.  
  5509.  
  5510.                                  A-38
  5511.                                                    TEST SPECIFICATIONS
  5512.  
  5513.  
  5514.      A.28  ERASE_AREA
  5515.  
  5516.      A.28.1  REQUIREMENTS MET BY TEST
  5517.  
  5518.           This test specification satisfies the erasing between specified
  5519.      areas on the display requirement for the form_mode terminal.  Also
  5520.      displayed is the moving by tab stops requirement.
  5521.  
  5522.      A.28.2  DESCRIPTION OF TEST
  5523.  
  5524.           The test shall include erasing several qualified areas on the
  5525.      virtual display.
  5526.  
  5527.      A.28.3  ASSUMPTIONS
  5528.  
  5529.           The form_mode terminal must be opened prior to the test.
  5530.  
  5531.      A.28.4  TEST SYNOPSIS
  5532.  
  5533.           The following table summarizes the test data, expected outputs,
  5534.      and test categories addressed by the associated test data.
  5535.  
  5536.  
  5537.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  5538.      =====   ==========               ================      ==========
  5539.  
  5540.        1     call tab to get to       the area should be    facility
  5541.              the beginning of         erased and filled 
  5542.              a qualified area,        with blanks 
  5543.              call erase_area,         
  5544.              activate form 
  5545.  
  5546.        2     call set_position to     the area from the     facility
  5547.              move the act. pos. to    act. pos. to the end
  5548.              the middle of a quali-   of the qualified area
  5549.              fied area, call erase_-  should be erased and
  5550.              area, activate form      filled with blanks
  5551.                                       
  5552.  
  5553.  
  5554.  
  5555.  
  5556.  
  5557.  
  5558.  
  5559.  
  5560.  
  5561.  
  5562.  
  5563.  
  5564.  
  5565.  
  5566.  
  5567.  
  5568.                                  A-39
  5569. TEST SPECIFICATIONS
  5570.  
  5571.  
  5572.      A.29  ERASE_DISPLAY
  5573.  
  5574.      A.29.1  REQUIREMENTS MET BY TEST
  5575.  
  5576.           This test specification satisfies the erasing between specified
  5577.      areas on the display requirement for the form_mode terminal.  Also
  5578.      displayed is the moving by tab stops requirement.
  5579.  
  5580.      A.29.2  DESCRIPTION OF TEST
  5581.  
  5582.           The test shall include erasing several qualified areas on the
  5583.      virtual display.
  5584.  
  5585.      A.29.3  ASSUMPTIONS
  5586.  
  5587.           The form_mode terminal must be opened prior to the test.
  5588.  
  5589.      A.29.4  TEST SYNOPSIS
  5590.  
  5591.           The following table summarizes the test data, expected outputs,
  5592.      and test categories addressed by the associated test data.
  5593.  
  5594.  
  5595.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  5596.      =====   ==========               ================      ==========
  5597.  
  5598.        1     call tab to get to       the entire display    facility
  5599.              a qualified area,        should be erased,
  5600.              call erase_display,      the cursor should be  
  5601.              call tab, activate form  positioned at the top
  5602.                                       left corner of the 
  5603.                                       display  
  5604.  
  5605.  
  5606.  
  5607.  
  5608.  
  5609.  
  5610.  
  5611.  
  5612.  
  5613.  
  5614.  
  5615.  
  5616.  
  5617.  
  5618.  
  5619.  
  5620.  
  5621.  
  5622.  
  5623.  
  5624.  
  5625.  
  5626.                                  A-40
  5627.                                                    TEST SPECIFICATIONS
  5628.  
  5629.  
  5630.      A.30  ACTIVATE_FORM
  5631.  
  5632.      A.30.1  REQUIREMENTS MET BY TEST
  5633.  
  5634.           This test specification satisfies the activating a form
  5635.      requirement for the form_mode terminal.  The define qualified area
  5636.      requirement and the retrieving the function key which signaled a full
  5637.      form are also exhibited.
  5638.  
  5639.      A.30.2  DESCRIPTION OF TEST
  5640.  
  5641.           The test shall include activating a form, editting that form, and
  5642.      terminating that form.  Control will return to the user's program.
  5643.  
  5644.      A.30.3  ASSUMPTIONS
  5645.  
  5646.           The form_mode terminal must be opened prior to the test.
  5647.  
  5648.      A.30.4  TEST SYNOPSIS
  5649.  
  5650.           The following table summarizes the test data, expected outputs,
  5651.      and test categories addressed by the associated test data.
  5652.  
  5653.  
  5654.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  5655.      =====   ==========               ================      ==========
  5656.  
  5657.        1     define several quali-    the actual display    facility
  5658.              fied areas on the        should look exactly    
  5659.              virtual display, call    like the virtual
  5660.              activate_form            display, the cursor
  5661.                                       should be at the first
  5662.                                       editing position of 
  5663.                                       the form
  5664.  
  5665.        2     perform local editing,   carriage returns        facility,
  5666.              this shall include       move to the next line,   usability
  5667.              using carrage returns,   tab moves to the next
  5668.              tabs, arrow keys, del-   unprotected area, 
  5669.              etes, and function keys  arrow keys perform
  5670.                                       thier function, del
  5671.                                       char deletes under the
  5672.                                       cursor( chars shift left )
  5673.                                       function keys return to
  5674.                                       to the user's program
  5675.  
  5676.  
  5677.  
  5678.  
  5679.  
  5680.  
  5681.  
  5682.  
  5683.  
  5684.                                  A-41
  5685. TEST SPECIFICATIONS
  5686.  
  5687.  
  5688.  
  5689.  
  5690.  
  5691.        3     write to a protected     rings the bell( as     facility
  5692.              area                     defined in the TCF )
  5693.  
  5694.        4     press a function key,    control should return   facility
  5695.              call terminatin_key      to the user's program,
  5696.                                       termination_key will
  5697.                                       return the function
  5698.                                       key pressed to return
  5699.                                       to the user's program
  5700.              
  5701.  
  5702.  
  5703.  
  5704.  
  5705.  
  5706.  
  5707.  
  5708.  
  5709.  
  5710.  
  5711.  
  5712.  
  5713.  
  5714.  
  5715.  
  5716.  
  5717.  
  5718.  
  5719.  
  5720.  
  5721.  
  5722.  
  5723.  
  5724.  
  5725.  
  5726.  
  5727.  
  5728.  
  5729.  
  5730.  
  5731.  
  5732.  
  5733.  
  5734.  
  5735.  
  5736.  
  5737.  
  5738.  
  5739.  
  5740.  
  5741.  
  5742.                                  A-42
  5743.                                                    TEST SPECIFICATIONS
  5744.  
  5745.  
  5746.      A.31  PUT
  5747.  
  5748.      A.31.1  REQUIREMENTS MET BY TEST
  5749.  
  5750.           This test specification satisfies the writing characters and
  5751.      strings to the display requirement for the form_mode terminal.
  5752.  
  5753.      A.31.2  DESCRIPTION OF TEST
  5754.  
  5755.           The test shall include writing several strings and characters to
  5756.      the display.
  5757.  
  5758.      A.31.3  ASSUMPTIONS
  5759.  
  5760.           The form_mode terminal must be opened prior to the test.
  5761.  
  5762.      A.31.4  TEST SYNOPSIS
  5763.  
  5764.           The following table summarizes the test data, expected outputs,
  5765.      and test categories addressed by the associated test data.
  5766.  
  5767.  
  5768.      INDEX   INPUT DATA               EXPECTED RESULTS      CATEGORIES
  5769.      =====   ==========               ================      ==========
  5770.  
  5771.        1     call put with string,    the string should      facility
  5772.              activate form            appear in the display
  5773.                                       at the position the
  5774.                                       act. pos. was located
  5775.                                       when put was called
  5776.       
  5777.        2     call put with a string   the remaining part of  facility
  5778.              which will exceed the    the string will wrap
  5779.              maximum allowed line     to the next line
  5780.              length, activate form
  5781.        
  5782.        3     call put with a string   the screen should      facility
  5783.              which will run off the   also, the remaining
  5784.              display, activate form   part of the string
  5785.                                       will appear in the top
  5786.                                       of the display
  5787.  
  5788.  
  5789.  
  5790.  
  5791.  
  5792.  
  5793.  
  5794.  
  5795.  
  5796.  
  5797.  
  5798.  
  5799.  
  5800.                                  A-43
  5801.  
  5802.  
  5803.  
  5804.  
  5805.  
  5806.  
  5807.  
  5808.  
  5809.  
  5810.  
  5811.  
  5812.                                 APPENDIX B
  5813.  
  5814.                                  MATRICES
  5815.  
  5816.  
  5817.  
  5818.           This appendix contains two cross reference matrices that show the
  5819.      relationship between the test specifications in Appendix A and the
  5820.      requirements from the Proposal to Design and Implement an Ada Virtual
  5821.      Terminal[TI84].
  5822.  
  5823.           The Test Specification Matrix lists the test specifications in
  5824.      order and shows which requirements are satisfied with each test
  5825.      specification.  In addition, the Test Specification Matrix contains
  5826.      two columns for check off and comments to fill in as the test
  5827.      specifications are fulfilled.
  5828.  
  5829.           The second matrix, the Requirements Cross Reference Matrix,
  5830.      provides a quick reference of the location where each requirement is
  5831.      satisfied within this document.  The acceptance requirements from the
  5832.      proposal document [TI84] are listed along with the test specifications
  5833.      that satisfy each requirement and the specific section where the
  5834.      procedure is described.
  5835.  
  5836.  
  5837.  
  5838.  
  5839.  
  5840.  
  5841.  
  5842.  
  5843.  
  5844.  
  5845.  
  5846.  
  5847.  
  5848.  
  5849.  
  5850.  
  5851.  
  5852.  
  5853.  
  5854.  
  5855.  
  5856.  
  5857.                                  B-1
  5858. MATRICES
  5859.  
  5860.  
  5861.                            TEST SPECIFICATION MATRIX
  5862.  
  5863.  
  5864.  
  5865.  
  5866.      ------------------------------------------------------------------
  5867.      |  TEST SPEC |   REQUIREMENTS | CHECK |        COMMENTS          |
  5868.      |============|================|=======|==========================|
  5869.      |   A.1      |     4, 6       |       |                          |
  5870.      |------------|----------------|-------|--------------------------|
  5871.      |   A.2      |     4, 5, 6    |       |                          |
  5872.      |------------|----------------|-------|--------------------------|
  5873.      |   A.3      |     4, 6       |       |                          |
  5874.      |------------|----------------|-------|--------------------------|
  5875.      |   A.4      |     4, 6, 7    |       |                          |
  5876.      |------------|----------------|-------|--------------------------|
  5877.      |   A.5      |     8          |       |                          |
  5878.      |------------|----------------|-------|--------------------------|
  5879.      |   A.6      |     1          |       |                          |
  5880.      |------------|----------------|-------|--------------------------|
  5881.      |   A.7      |     2          |       |                          |
  5882.      |------------|----------------|-------|--------------------------|
  5883.      |   A.8      |     3          |       |                          |
  5884.      |------------|----------------|-------|--------------------------|
  5885.      |   A.9      |     12, 14     |       |                          |
  5886.      |------------|----------------|-------|--------------------------|
  5887.      |   A.10     |     12, 13, 14 |       |                          |
  5888.      |------------|----------------|-------|--------------------------|
  5889.      |   A.11     |     12, 14     |       |                          |
  5890.      |------------|----------------|-------|--------------------------|
  5891.      |   A.12     |     12, 14, 15 |       |                          |
  5892.      |------------|----------------|-------|--------------------------|
  5893.      |   A.13     |     16         |       |                          |
  5894.      |------------|----------------|-------|--------------------------|
  5895.      |   A.14     |     9          |       |                          |
  5896.      |------------|----------------|-------|--------------------------|
  5897.  
  5898.  
  5899.  
  5900.  
  5901.  
  5902.  
  5903.  
  5904.  
  5905.  
  5906.  
  5907.  
  5908.  
  5909.  
  5910.  
  5911.  
  5912.  
  5913.  
  5914.  
  5915.                                  B-2
  5916.                                                               MATRICES
  5917.  
  5918.  
  5919.  
  5920.  
  5921.  
  5922.      |------------|----------------|-------|--------------------------|
  5923.      |   A.15     |     10         |       |                          |
  5924.      |------------|----------------|-------|--------------------------|
  5925.      |   A.16     |     9, 17      |       |                          |
  5926.      |------------|----------------|-------|--------------------------|
  5927.      |   A.17     |     9, 18      |       |                          |
  5928.      |------------|----------------|-------|--------------------------|
  5929.      |   A.18     |     9, 19      |       |                          |
  5930.      |------------|----------------|-------|--------------------------|
  5931.      |   A.19     |     9, 20      |       |                          |
  5932.      |------------|----------------|-------|--------------------------|
  5933.      |   A.20     |     9, 21      |       |                          |
  5934.      |------------|----------------|-------|--------------------------|
  5935.      |   A.21     |     9, 22      |       |                          |
  5936.      |------------|----------------|-------|--------------------------|
  5937.      |   A.22     |     9, 21, 23  |       |                          |
  5938.      |------------|----------------|-------|--------------------------|
  5939.      |   A.23     |     11         |       |                          |
  5940.      |------------|----------------|-------|--------------------------|
  5941.      |   A.24     |     24, 26, 28 |       |                          |
  5942.      |------------|----------------|-------|--------------------------|
  5943.      |   A.25     |     25, 26, 28 |       |                          |
  5944.      |------------|----------------|-------|--------------------------|
  5945.      |   A.26     |     24, 26, 28 |       |                          |
  5946.      |------------|----------------|-------|--------------------------|
  5947.      |   A.27     |     29         |       |                          |
  5948.      |------------|----------------|-------|--------------------------|
  5949.      |   A.28     |     26, 27, 28 |       |                          |
  5950.      |------------|----------------|-------|--------------------------|
  5951.      |   A.29     |     26, 27     |       |                          |
  5952.      |------------|----------------|-------|--------------------------|
  5953.      |   A.30     |     24, 28, 31 |       |                          |
  5954.      |------------|----------------|-------|--------------------------|
  5955.      |   A.31     |     30         |       |                          |
  5956.      ------------------------------------------------------------------
  5957.  
  5958.  
  5959.  
  5960.  
  5961.  
  5962.  
  5963.  
  5964.  
  5965.  
  5966.  
  5967.  
  5968.  
  5969.  
  5970.  
  5971.  
  5972.  
  5973.                                  B-3
  5974. MATRICES
  5975.  
  5976.  
  5977.                       REQUIREMENTS CROSS REFERENCE MATRIX
  5978.  
  5979.  
  5980.           The requirements which are located in the following matrix are
  5981.      taken from the Proposal to Design and Implement an ANSI X3.64
  5982.      Compatiable Virtual Terminal in Ada, section 2.4.1
  5983.  
  5984.  
  5985.  
  5986.  
  5987.  
  5988.                                                      TEST         PROCEDURE
  5989.      REQ. #   REQUIREMENT                       SPECIFICATIONS     SECTION
  5990.      ======   ===========                       ==============    =========
  5991.        1      Writing chars and strings to           A.6           3.3.3.6
  5992.               the display for the scroll_mode
  5993.               terminal
  5994.  
  5995.        2      Reading chars and strings from         A.7           3.3.3.7
  5996.               the keyboard for the scroll_
  5997.               mode terminal
  5998.  
  5999.        3      Ringing the terminals bell for         A.8           3.3.3.8
  6000.               the scroll_mode terminal
  6001.  
  6002.        4      Setting tab stops for the              A.1           3.3.3.1 
  6003.               scroll_mode terminal
  6004.  
  6005.        5      Clearing tab stops for the             A.2           3.3.3.2 
  6006.               scroll_mode terminal
  6007.  
  6008.        6      Moving to a tab stop for the           A.3           3.3.3.3 
  6009.               scroll_mode terminal
  6010.  
  6011.        7      Moving to a new line for the           A.4           3.3.3.4 
  6012.               scroll_mode terminal
  6013.  
  6014.        8      Moving to a new page for the           A.5           3.3.3.5
  6015.               scroll_mode terminal
  6016.  
  6017.        9      Writing characters and strings         A.14          3.3.3.14
  6018.               to the display for the page_mode
  6019.               terminal
  6020.  
  6021.  
  6022.  
  6023.  
  6024.  
  6025.  
  6026.  
  6027.  
  6028.  
  6029.  
  6030.  
  6031.                                  B-4
  6032.                                                               MATRICES
  6033.  
  6034.  
  6035.  
  6036.  
  6037.        10     Reading characters and strings         A.15          3.3.3.15
  6038.               from the keyboard for the 
  6039.               page_mode terminal
  6040.  
  6041.        11     Ringing the terminals bell for         A.23          3.3.3.16
  6042.               the page_mode terminal
  6043.  
  6044.        12     Setting tab stops for the              A.9           3.3.3.9    
  6045.               page_mode terminal
  6046.  
  6047.        13     Clearing tab stops for the             A.10          3.3.3.10
  6048.               page_mode terminal
  6049.  
  6050.        14     Moving to a tab stop for the           A.11          3.3.3.11
  6051.               page_mode terminal
  6052.  
  6053.        15     Moving to a new line for the           A.12          3.3.3.12 
  6054.               page_mode terminal
  6055.       
  6056.        16     Moving to a new page for the           A.13          3.3.3.13
  6057.               page_mode terminal
  6058.  
  6059.        17     Deleting characters from the           A.16          3.3.3.17
  6060.               display for the page_mode
  6061.               terminal
  6062.  
  6063.        18     Deleting lines from the display        A.17          3.3.3.18
  6064.               for the page_mode terminal
  6065.  
  6066.        19     Erasing characters from the            A.18          3.3.3.19
  6067.               display for the page_mode
  6068.               terminal
  6069.  
  6070.        20     Erasing between specific positions     A.19          3.3.3.20
  6071.               within lines for the page_mode
  6072.               terminal
  6073.  
  6074.        21     Inserting characters onto the          A.20          3.3.3.21 
  6075.               display for the page_mode
  6076.               terminal
  6077.  
  6078.        22     Inserting lines onto the display       A.21          3.3.3.22
  6079.               for the page_mode terminal
  6080.  
  6081.        23     Setting the graphic rendition on       A.22          3.3.3.23
  6082.               the display for the page_mode
  6083.               terminal
  6084.  
  6085.  
  6086.  
  6087.  
  6088.  
  6089.                                  B-5
  6090. MATRICES
  6091.  
  6092.  
  6093.  
  6094.  
  6095.  
  6096.  
  6097.  
  6098.        24     Defining qualified areas on the        A.24          3.3.3.24
  6099.               display for the form_mode
  6100.               terminal
  6101.  
  6102.        25     Clearing qualified areas on the        A.25          3.3.3.25
  6103.               display for the  form_mode
  6104.               terminal
  6105.  
  6106.        26     Moving by tab stops on the             A.26          3.3.3.26
  6107.               display for the form_mode
  6108.               terminal
  6109.  
  6110.        27     Erasing between specific positions     A.28,         3.3.3.27
  6111.               on the display for the form_mode       A.29
  6112.               terminal
  6113.  
  6114.        28     Activating a form for user fill        A.30          3.3.3.30
  6115.               in for the form_mode terminal
  6116.  
  6117.        29     Reading characters and strings         A.27          3.3.3.28 
  6118.               from the display buffer for the
  6119.               form_mode terminal
  6120.  
  6121.        30     Writing characters and strings         A.31          3.3.3.29
  6122.               to the display buffer for the 
  6123.               form_mode terminal
  6124.  
  6125.        31     Retrieving the function key            A.30          3.3.3.30
  6126.               which signaled a full form for
  6127.               the form_mode terminal
  6128.  
  6129.  
  6130.  
  6131.  
  6132.  
  6133.  
  6134.  
  6135.  
  6136.  
  6137.  
  6138.  
  6139.  
  6140.  
  6141.  
  6142.  
  6143.  
  6144.  
  6145.  
  6146.  
  6147.                                  B-6
  6148.  
  6149.  
  6150.  
  6151.  
  6152.  
  6153.  
  6154.  
  6155.  
  6156.  
  6157.  
  6158.  
  6159.                               APPENDIX C
  6160.  
  6161.                                GLOSSARY
  6162.  
  6163.  
  6164.  
  6165.  
  6166.       _____      actor
  6167.            An operation on an object that changes the state, structure, or
  6168.            value of the object.
  6169.  
  6170.       ____      ACSL
  6171.            Advanced Computer Systems Laboratory, Texas Instruments
  6172.  
  6173.       ___      AIE
  6174.            Ada Integrated Environment
  6175.  
  6176.       ___      AIM
  6177.            APSE Interactive Monitor
  6178.  
  6179.       ___ _______ ___________ ____ ___      AIM command interpreter (AIM CI)
  6180.            The AIM subsystem concerned with the interpretation of user
  6181.            commands.  The user commands include those specified directly to
  6182.            the AIM CI by the user as well as special key sequences (such as
  6183.            the Switch-to-Monitor key).
  6184.  
  6185.       ___ ______      AIM driver
  6186.            The AIM subsystem concerned with initializing and controlling the
  6187.            actual execution of the AIM program.
  6188.  
  6189.       ___ _______ _______      AIM program manager
  6190.            The AIM subsystem concerned with the invocation and control of
  6191.            subordinate APSE programs.
  6192.  
  6193.       ___ _________ _______      AIM structure manager
  6194.            The AIM subsystem concerned with the maintenance of the
  6195.            relationships between images, windows, viewports, viewport
  6196.            headers, and special AIM modes.
  6197.  
  6198.       ___ _______ ________      AIM virtual terminal
  6199.            The AIM subsystem concerned with the manipulation and
  6200.            interrogation of display terminals.
  6201.  
  6202.  
  6203.  
  6204.                                  C-1
  6205. GLOSSARY
  6206.  
  6207.  
  6208.       ___      ALS
  6209.            Ada Language System
  6210.  
  6211.       ____      APSE
  6212.            Ada Programming Support Environment
  6213.  
  6214.       ____ ___      APSE CLP
  6215.            The APSE Command Language Processor is the program within the
  6216.            host APSE concerned with the interpretation of user commands at
  6217.            the APSE level.
  6218.  
  6219.       ____ _______      APSE program
  6220.                                                                   ____ ____           A program that can be executed in the hosting APSE and uses only
  6221.            _____ ________ ________           KAPSE supplied services to perform its function.
  6222.  
  6223.       ____      area
  6224.            A set of adjacent character positions in a visual display that
  6225.            are not necessarily on the same line.
  6226.  
  6227.       _________      character
  6228.            A member of a set of elements that is used for the organization,
  6229.            control, or representation of data.
  6230.  
  6231.       _________ ____      character echo
  6232.            The act of re-transmitting a character immediately upon receipt
  6233.            of it back to the entity that originally transmitted it.
  6234.  
  6235.       _________ _______ ______      character imaging device
  6236.            A device that gives a visual representation of data in the form
  6237.            of graphic symbols using any technology, such as cathode ray tube
  6238.            or printer.
  6239.  
  6240.       _________ ______      character stream
  6241.            An unbounded sequence of ASCII characters.
  6242.  
  6243.       _________ ______      character string
  6244.            A bounded sequence of ASCII characters.
  6245.  
  6246.       ____      CPCI
  6247.            Computer Program Configuration Item.
  6248.  
  6249.       ________ ____      database file
  6250.            A standard file in the APSE database.
  6251.  
  6252.       _______      display
  6253.            The area for visual presentation of data on a character imaging
  6254.            device.
  6255.  
  6256.       _______ ________      display terminal
  6257.            A data communications device composed of a keyboard and a display
  6258.            screen (usually a cathode ray tube).
  6259.  
  6260.  
  6261.  
  6262.                                  C-2
  6263.                                                               GLOSSARY
  6264.  
  6265.  
  6266.       ________ ________      hardcopy terminal
  6267.            A data communications device composed of a keyboard and a
  6268.            printer.
  6269.  
  6270.       _____      image
  6271.            An image is an analog of the physical display device.  The image
  6272.            is the entity that is mapped onto the display.  Given a number of
  6273.            user defined images, only one at a time can be mapped onto the
  6274.            display.  The rest exist and are updated asynchronously but are
  6275.            not mapped onto the display until the user requests it.
  6276.  
  6277.       _________      interface
  6278.            The place at which independent systems meet and act on or
  6279.            communicate with each other.
  6280.  
  6281.       _____      KAPSE
  6282.            Kernel Ada Programing Support Environment.
  6283.  
  6284.       ________      keyboard
  6285.            The keyboard is the physical input device.
  6286.  
  6287.       ____      line
  6288.            A line is a set of adjacent character positions in a visual
  6289.            display that have the same vertical position.
  6290.  
  6291.       ____      NOSC
  6292.            Naval Ocean Systems Center
  6293.  
  6294.       ___      pad
  6295.            A pad is a complete history of window activity that transpires
  6296.            from the initial invocation of pad mode until it is terminated by
  6297.            the user or the window is destroyed.  This includes the input to
  6298.            the APSE program from the user through the keyboard as well as
  6299.            the output to the display from the AIM and any program initiated
  6300.            by the AIM.
  6301.  
  6302.       ____      pipe
  6303.            A logical connection between an output file of one program and an
  6304.            input file of another program.
  6305.  
  6306.       ___      PPS
  6307.            Program Performance Specification
  6308.  
  6309.       ______      screen
  6310.            The area for visual presentation of data on any type of character
  6311.            imaging device, including printer and cathode ray tube device.
  6312.  
  6313.       ______ ____ ________      scroll mode terminal
  6314.            A display terminal that presents data by moving all the graphic
  6315.            symbols of the screen in one direction to make room for new data.
  6316.  
  6317.  
  6318.  
  6319.  
  6320.                                  C-3
  6321. GLOSSARY
  6322.  
  6323.  
  6324.       ________      Selector
  6325.            An operation on an object that returns a value or attribute and
  6326.            makes no alteraction of the state, structure, or value of the
  6327.            object.
  6328.  
  6329.       _________________ ___      Switch-to-Monitor key
  6330.            The keyboard sequence that causes the AIM to perform the
  6331.            Switch-to-Monitor function.
  6332.  
  6333.       ____      task
  6334.            An Ada program unit that operates in parallel with other program
  6335.            units.
  6336.  
  6337.       ________      terminal
  6338.            A data communications device consisting of a keyboard and a
  6339.            character imaging device.
  6340.  
  6341.       ________ ____________ ____      Terminal Capabilities File
  6342.            he Terminal Capabilities File is an APSE database file which
  6343.            contains mappings from logical computer terminal characteristics
  6344.            to specific computer terminal characteristics.  The Terminal
  6345.            Capabilities File can contain information that supports many
  6346.            different terminal types and makes.
  6347.  
  6348.       ________      transmit
  6349.            To send data as a data stream for purposes of information
  6350.            interchange.
  6351.  
  6352.       ___________ ____ ______      transmitted data stream
  6353.            The stream of bit combinations sent by a character imaging device
  6354.            when it is induced to transmit for purposes of information
  6355.            interchange.
  6356.  
  6357.       ____ ________      user terminal
  6358.            The terminal with which a user interacts in order to communicate
  6359.            with an APSE program.
  6360.  
  6361.       ________      viewport
  6362.            A viewport is the portion of the window displayed in the image.
  6363.  
  6364.       ________ ______      viewport header
  6365.            A viewport header is a single optional highlighted line located
  6366.            at the top of a viewport.
  6367.  
  6368.       ______      window
  6369.            A window is an analog of the APSE program's view of the terminal.
  6370.  
  6371.  
  6372.  
  6373.  
  6374.  
  6375.  
  6376.  
  6377.  
  6378.                                  C-4
  6379.  
  6380.