diff gcc/testsuite/ada/acats/tests/cxf/cxf3a01.a @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/ada/acats/tests/cxf/cxf3a01.a	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,167 @@
+-- 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;