cxb4003.a

来自「xml大全 可读写调用率很高 xml大全 可读写调用率很高」· A 代码 · 共 311 行

A
311
字号
-- CXB4003.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 function Valid, with the Display_Format parameter --      set to Unsigned, will return True if Numeric parameter Item --      comprises one or more decimal digit characters; check that it --      returns False if the parameter Item is otherwise comprised.----      Check that function Valid, with Display_Format parameter set to --      Leading_Separate, will return True if Numeric parameter Item --      comprises a single occurrence of a Plus_Sign or Minus_Sign --      character, and then by one or more decimal digit characters; --      check that it returns False if the parameter Item is otherwise --      comprised.----      Check that function Valid, with Display_Format parameter set to --      Trailing_Separate, will return True if Numeric parameter Item --      comprises one or more decimal digit characters, and then by a --      single occurrence of the Plus_Sign or Minus_Sign character; --      check that it returns False if the parameter Item is otherwise--      comprised.---- TEST DESCRIPTION:--      This test checks that a version of function Valid, from an instance--      of the generic package Decimal_Conversions, will produce correct--      results based on the particular Numeric and Display_Format--      parameters provided.  Arrays of both valid and invalid Numeric--      data items have been created to correspond to a particular--      value of Display_Format.  The result of the function is compared--      against the expected result for each appropriate combination of--      Numeric and Display_Format parameter.--      This test assumes that the following characters are all included--      in the implementation defined type Interfaces.COBOL.COBOL_Character:--      ' ', 'A'..'Z', '+', '-', '.', '$'.--      -- APPLICABILITY CRITERIA: --      This test is applicable to all implementations that provide --      package Interfaces.COBOL.  If an implementation provides--      package Interfaces.COBOL, this test must compile, execute, and --      report "PASSED".----      --       -- CHANGE HISTORY:--      18 Jan 96   SAIC    Initial version for 2.1. --      30 May 96   SAIC    Incorporated reviewer comments for ACVC 2.1.--      27 Oct 96   SAIC    Incorporated reviewer comments.----!with Report;with Ada.Exceptions;with Interfaces.COBOL;                                          -- N/A => ERRORprocedure CXB4003 isbegin   Report.Test ("CXB4003", "Check that function Valid, with various "     &                           "Display_Format parameters, produces correct " &                           "results");   Test_Block:   declare      use Interfaces;      use Ada.Exceptions;      type A_Numeric_Type     is delta 0.01 digits 16;      type Numeric_Access     is access COBOL.Numeric;      type Numeric_Items_Type is array(Integer range <>) of Numeric_Access;      package Display_Format is         new COBOL.Decimal_Conversions(Num => A_Numeric_Type);      Number_Of_Valid_Unsigned_Items            : constant :=  5;      Number_Of_Invalid_Unsigned_Items          : constant := 21;      Number_Of_Valid_Leading_Separate_Items    : constant :=  5;      Number_Of_Invalid_Leading_Separate_Items  : constant := 23;      Number_Of_Valid_Trailing_Separate_Items   : constant :=  5;      Number_Of_Invalid_Trailing_Separate_Items : constant := 22;      Valid_Unsigned_Items :        Numeric_Items_Type(1..Number_Of_Valid_Unsigned_Items) :=          (new COBOL.Numeric'("0"),           new COBOL.Numeric'("1"),           new COBOL.Numeric'("0000000001"),           new COBOL.Numeric'("1234567890123456"),           new COBOL.Numeric'("0000"));      Invalid_Unsigned_Items :                Numeric_Items_Type(1..Number_Of_Invalid_Unsigned_Items) :=          (new COBOL.Numeric'(" 12345"),           new COBOL.Numeric'("    12345"),           new COBOL.Numeric'("1234567890 "),           new COBOL.Numeric'("1234567890   "),           new COBOL.Numeric'("1.01"),           new COBOL.Numeric'(".0000000001"),           new COBOL.Numeric'("12345 6"),           new COBOL.Numeric'("MCXVIII"),           new COBOL.Numeric'("15F"),           new COBOL.Numeric'("+12345"),           new COBOL.Numeric'("$12.30"),           new COBOL.Numeric'("1234-"),           new COBOL.Numeric'("12--"),           new COBOL.Numeric'("+12-"),           new COBOL.Numeric'("++99--"),           new COBOL.Numeric'("-1.01"),           new COBOL.Numeric'("(1.01)"),           new COBOL.Numeric'("123,456"),           new COBOL.Numeric'("101."),           new COBOL.Numeric'(""),           new COBOL.Numeric'("1.0000"));      Valid_Leading_Separate_Items :         Numeric_Items_Type(1..Number_Of_Valid_Leading_Separate_Items) :=          (new COBOL.Numeric'("+1000"),           new COBOL.Numeric'("-1"),           new COBOL.Numeric'("-0000000001"),           new COBOL.Numeric'("+1234567890123456"),           new COBOL.Numeric'("-0000"));      Invalid_Leading_Separate_Items :        Numeric_Items_Type(1..Number_Of_Invalid_Leading_Separate_Items) :=          (new COBOL.Numeric'("123456"),           new COBOL.Numeric'(" +12345"),           new COBOL.Numeric'("    +12345"),           new COBOL.Numeric'("- 0000000001"),           new COBOL.Numeric'("1234567890- "),           new COBOL.Numeric'("1234567890+   "),           new COBOL.Numeric'("123-456"),           new COBOL.Numeric'("+15F"),           new COBOL.Numeric'("++123"),           new COBOL.Numeric'("12--"),           new COBOL.Numeric'("+12-"),           new COBOL.Numeric'("+/-12"),           new COBOL.Numeric'("++99--"),           new COBOL.Numeric'("1.01"),           new COBOL.Numeric'("(1.01)"),           new COBOL.Numeric'("+123,456"),           new COBOL.Numeric'("+15FF"),           new COBOL.Numeric'("- 123"),           new COBOL.Numeric'("+$123"),           new COBOL.Numeric'(""),           new COBOL.Numeric'("-"),           new COBOL.Numeric'("-1.01"),           new COBOL.Numeric'("1.0000+"));      Valid_Trailing_Separate_Items :         Numeric_Items_Type(1..Number_Of_Valid_Trailing_Separate_Items) :=          (new COBOL.Numeric'("1001-"),           new COBOL.Numeric'("1+"),           new COBOL.Numeric'("0000000001+"),           new COBOL.Numeric'("1234567890123456-"),           new COBOL.Numeric'("0000-"));      Invalid_Trailing_Separate_Items :        Numeric_Items_Type(1..Number_Of_Invalid_Trailing_Separate_Items) :=          (new COBOL.Numeric'("123456"),           new COBOL.Numeric'("+12345"),           new COBOL.Numeric'("12345 "),           new COBOL.Numeric'("123- "),           new COBOL.Numeric'("123-   "),           new COBOL.Numeric'("12345 +"),           new COBOL.Numeric'("12345+   "),           new COBOL.Numeric'("-0000000001"),           new COBOL.Numeric'("123-456"),           new COBOL.Numeric'("12--"),           new COBOL.Numeric'("+12-"),           new COBOL.Numeric'("99+-"),           new COBOL.Numeric'("12+/-"),           new COBOL.Numeric'("12.01-"),           new COBOL.Numeric'("$12.01+"),           new COBOL.Numeric'("(1.01)"),           new COBOL.Numeric'("DM12-"),           new COBOL.Numeric'("123,456+"),           new COBOL.Numeric'(""),           new COBOL.Numeric'("-"),           new COBOL.Numeric'("1.01-"),           new COBOL.Numeric'("+1.0000"));   begin      -- Check that function Valid, with the Display_Format parameter       -- set to Unsigned, will return True if Numeric parameter Item       -- comprises one or more decimal digit characters; check that it       -- returns False if the parameter Item is otherwise comprised.      for i in 1..Number_of_Valid_Unsigned_Items loop         -- Fail if the Item parameter is _NOT_ considered Valid.         if not Display_Format.Valid(Item   => Valid_Unsigned_Items(i).all,                                      Format => COBOL.Unsigned)         then            Report.Failed("Incorrect result from function Valid, with "  &                          "Format parameter set to Unsigned, for valid " &                          "format item number " & Integer'Image(i));         end if;      end loop;      for i in 1..Number_of_Invalid_Unsigned_Items loop         -- Fail if the Item parameter _IS_ considered Valid.         if Display_Format.Valid(Item   => Invalid_Unsigned_Items(i).all,                                  Format => COBOL.Unsigned)         then            Report.Failed("Incorrect result from function Valid, with "    &                          "Format parameter set to Unsigned, for invalid " &                          "format item number " & Integer'Image(i));         end if;      end loop;      -- Check that function Valid, with Display_Format parameter set to       -- Leading_Separate, will return True if Numeric parameter Item       -- comprises a single occurrence of a Plus_Sign or Minus_Sign       -- character, and then by one or more decimal digit characters;       -- check that it returns False if the parameter Item is otherwise       -- comprised.      for i in 1..Number_of_Valid_Leading_Separate_Items loop         -- Fail if the Item parameter is _NOT_ considered Valid.         if not Display_Format.Valid(Valid_Leading_Separate_Items(i).all,                                      Format => COBOL.Leading_Separate)         then            Report.Failed("Incorrect result from function Valid, with " &                          "Format parameter set to Leading_Separate, "  &                          "for valid format item number " & Integer'Image(i));         end if;      end loop;      for i in 1..Number_of_Invalid_Leading_Separate_Items loop         -- Fail if the Item parameter _IS_ considered Valid.         if Display_Format.Valid(Invalid_Leading_Separate_Items(i).all,                                  Format => COBOL.Leading_Separate)         then            Report.Failed("Incorrect result from function Valid, with " &                          "Format parameter set to Leading_Separate, "  &                          "for invalid format item number "             &                          Integer'Image(i));         end if;      end loop;      -- Check that function Valid, with Display_Format parameter set to       -- Trailing_Separate, will return True if Numeric parameter Item       -- comprises one or more decimal digit characters, and then by a       -- single occurrence of the Plus_Sign or Minus_Sign character;       -- check that it returns False if the parameter Item is otherwise      -- comprised.      for i in 1..Number_of_Valid_Trailing_Separate_Items loop         -- Fail if the Item parameter is _NOT_ considered Valid.         if not Display_Format.Valid(Valid_Trailing_Separate_Items(i).all,                                      COBOL.Trailing_Separate)         then            Report.Failed("Incorrect result from function Valid, with " &                          "Format parameter set to Trailing_Separate, " &                          "for valid format item number " & Integer'Image(i));         end if;      end loop;      for i in 1..Number_of_Invalid_Trailing_Separate_Items loop         -- Fail if the Item parameter _IS_ considered Valid.         if Display_Format.Valid(Invalid_Trailing_Separate_Items(i).all,                                  COBOL.Trailing_Separate)         then            Report.Failed("Incorrect result from function Valid, with " &                          "Format parameter set to Trailing_Separate, " &                          "for invalid format item number "             &                          Integer'Image(i));         end if;      end loop;   exception      when The_Error : others =>          Report.Failed ("The following exception was raised in the " &                        "Test_Block: " & Exception_Name(The_Error));   end Test_Block;   Report.Result;end CXB4003;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?