| -- CXF3A01.A |
| -- |
| -- Grant of Unlimited Rights |
| -- |
| -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687, |
| -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained |
| -- unlimited rights in the software and documentation contained herein. |
| -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
| -- this public release, the Government intends to confer upon all |
| -- recipients unlimited rights equal to those held by the Government. |
| -- These rights include rights to use, duplicate, release or disclose the |
| -- released technical data and computer software in whole or in part, in |
| -- any manner and for any purpose whatsoever, and to have or permit others |
| -- to do so. |
| -- |
| -- DISCLAIMER |
| -- |
| -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
| -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
| -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
| -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
| -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
| -- PARTICULAR PURPOSE OF SAID MATERIAL. |
| --* |
| -- |
| -- OBJECTIVE: |
| -- Check that the function Ada.Text_IO.Editing.Valid returns False if |
| -- a) Pic_String is not a well-formed Picture string, or |
| -- b) the length of Pic_String exceeds Max_Picture_Length, or |
| -- c) Blank_When_Zero is True and Pic_String contains '*'; |
| -- Check that Valid otherwise returns True. |
| -- |
| -- TEST DESCRIPTION: |
| -- This test validates the results of function Editing.Valid under a |
| -- variety of conditions. Both valid and invalid picture strings are |
| -- provided as input parameters to the function. The use of the |
| -- Blank_When_Zero parameter is evaluated with strings that contain the |
| -- zero suppression character '*'. |
| -- |
| -- TEST FILES: |
| -- The following files comprise this test: |
| -- |
| -- FXF3A00.A (foundation code) |
| -- => CXF3A01.A |
| -- |
| -- |
| -- CHANGE HISTORY: |
| -- 06 Dec 94 SAIC ACVC 2.0 |
| -- |
| --! |
| |
| with FXF3A00; |
| with Ada.Text_IO.Editing; |
| with Report; |
| |
| procedure CXF3A01 is |
| begin |
| |
| Report.Test ("CXF3A01", "Check that the Valid function from package " & |
| "Ada.Text_IO.Editing returns False for strings " & |
| "that fail to comply with the composition " & |
| "constraints defined for picture strings. " & |
| "Check that the Valid function returns True " & |
| "for strings that conform to the composition " & |
| "constraints defined for picture strings"); |
| |
| Test_Block: |
| declare |
| use FXF3A00; |
| use Ada.Text_IO; |
| begin |
| |
| -- Use a series of picture strings that conform to the composition |
| -- constraints to validate the Ada.Text_IO.Editing.Valid function. |
| -- The result for each of these calls should be True. |
| -- In all the following cases, the default value of the Blank_When_Zero |
| -- parameter is used. |
| |
| for i in 1..FXF3A00.Number_Of_Valid_Strings loop |
| |
| if not Editing.Valid(Pic_String => FXF3A00.Valid_Strings(i).all) |
| then |
| Report.Failed("Incorrect result from Function Valid using " & |
| "Valid_String = " & FXF3A00.Valid_Strings(i).all); |
| end if; |
| |
| end loop; |
| |
| |
| for i in 1..FXF3A00.Number_Of_Foreign_Strings loop |
| |
| if not Editing.Valid(Pic_String => FXF3A00.Foreign_Strings(i).all) |
| then |
| Report.Failed("Incorrect result from Function Valid using " & |
| "Foreign_String = " & |
| FXF3A00.Foreign_Strings(i).all); |
| end if; |
| |
| end loop; |
| |
| |
| -- Use a series of picture strings that violate one or more of the |
| -- composition constraints to validate the Ada.Text_IO.Editing.Valid |
| -- function. The result for each of these calls should be False. |
| -- In all the following cases, the default value of the Blank_When_Zero |
| -- parameter is used. |
| |
| for i in 1..FXF3A00.Number_Of_Invalid_Strings loop |
| |
| if Editing.Valid(Pic_String => FXF3A00.Invalid_Strings(i).all) |
| then |
| Report.Failed("Incorrect result from Function Valid using " & |
| "Invalid_String = " & |
| FXF3A00.Invalid_Strings(i).all); |
| end if; |
| |
| end loop; |
| |
| |
| -- In all the following cases, the default value of the Blank_When_Zero |
| -- parameter is overridden with a True actual parameter value. Using |
| -- valid picture strings that contain the '*' zero suppression character |
| -- when this parameter value is True must result in a False result |
| -- from function Valid. Valid picture strings that do not contain the |
| -- '*' character should return a function result of True with True |
| -- provided as the actual parameter to Blank_When_Zero. |
| |
| -- Check entries 1, 2, 25, 36 from the Valid_Strings array, all of |
| -- which contain the '*' zero suppression character. |
| |
| if Editing.Valid(Valid_Strings(1).all, Blank_When_Zero => True) or |
| Editing.Valid(Valid_Strings(2).all, Blank_When_Zero => True) or |
| Editing.Valid(Valid_Strings(25).all, Blank_When_Zero => True) or |
| Editing.Valid(Valid_Strings(36).all, Blank_When_Zero => True) |
| then |
| Report.Failed |
| ("Incorrect result from Function Valid when setting " & |
| "the value of the Blank_When_Zero parameter to True, " & |
| "and using picture strings with the '*' character"); |
| end if; |
| |
| |
| -- Check entries from the Valid_Strings array, none of |
| -- which contain the '*' zero suppression character. |
| |
| for i in 3..24 loop |
| |
| if not Editing.Valid(Pic_String => Valid_Strings(i).all, |
| Blank_When_Zero => True) |
| then |
| Report.Failed("Incorrect result from Function Valid when " & |
| "setting the value of the Blank_When_Zero " & |
| "parameter to True, and using picture strings " & |
| "without the '*' character, Valid_String = " & |
| FXF3A00.Valid_Strings(i).all); |
| end if; |
| |
| end loop; |
| |
| |
| exception |
| when others => Report.Failed ("Exception raised in Test_Block"); |
| end Test_Block; |
| |
| Report.Result; |
| |
| end CXF3A01; |