DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ B T ┃
Length: 28691 (0x7013) Types: TextFile Names: »B«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00 └─ ⟦0c20f784e⟧ »DATA« └─⟦1abbe589f⟧ └─⟦49e7f20b9⟧ └─⟦this⟧
with Test_Io; with Cvt_Test_Utilities; with Xlbt_Arithmetic; with Xlbt_Basic; with Xlbt_Font; with Xlbt_Font3; with Xlbt_Key; with Xlbt_Key3; with Xlbt_Keyboard; with Xlbt_Misc; with Xlbt_Pointer; with Xlbt_String; with Xlbt_String16; with Xlbmt_Network_Types; with Xlbip_Base_Converters; procedure Cvt_020 is ------------------------------------------------------------------------------ -- Tests for Xlbip_Base_Converters -- -- Xlbip_Base_Converters only instantiates the converters actually used -- by the protocol. The Tester generics expect to have symmetric -- converters for each type. Individual tests instantiate their own -- dummy To_Raw and From_Raw converters when necessary. ------------------------------------------------------------------------------ -- 09/10/90 DRK | Created. ------------------------------------------------------------------------------ --------------------------------- -- Handy constants and renames -- --------------------------------- package Utils renames Cvt_Test_Utilities; package Tests renames Utils.Raw_Data_Tests; package Dummy renames Utils.Dummy_Converters; use Utils.Raw_Data_Constants; ---------------------------------------------------------------------- ------------------------- -- Major test sections -- ------------------------- procedure Test_X_Atom_Array is procedure Test is new Tests.Tester_1d (Xlbt_Basic.X_Atom, Xlbt_Arithmetic.S_Natural, Xlbt_Basic.X_Atom_Array, "X_Atom_Array", Xlbip_Base_Converters.To_Raw, Xlbip_Base_Converters.From_Raw); begin Test_Io.Section ("X_Atom_Array conversions"); Test ("1..0 => 0", (1 .. 0 => (Number => 0)), (1 .. 0 => 0)); Test ("1..1 => -1", (1 => (Number => Minus_1)), (1 .. 4 => Raw_Ff)); Test ("0..0 => 2", (0 => (Number => 2)), Swab_00_00_00_02); Test ("1..2 => 1", (1 .. 2 => (Number => 1)), Swab_00_00_00_01 & Swab_00_00_00_01); Test_Io.New_Line; end Test_X_Atom_Array; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Char_Struct is procedure To_Raw is new Dummy.Convert_From_Private (Xlbt_Font.X_Char_Struct, Xlbmt_Network_Types.X_Raw_Data_Array); procedure Test is new Tests.Tester (Xlbt_Font.X_Char_Struct, "X_Char_Struct", To_Raw, Xlbip_Base_Converters.From_Raw); begin Test_Io.Section ("X_Char_Struct conversions"); Test ("0", (0, 0, 0, 0, 0, (others => False)), (1 .. 12 => 0)); Test ("-1", (Minus_1, Minus_1, Minus_1, Minus_1, Minus_1, (others => True)), (1 .. 12 => Raw_Ff)); Test ("1, 2, 3, 4, 5, 6", (1, 2, 3, 4, 5, (Xlbt_Font.Xpcfi02 | Xlbt_Font.Xpcfi01 => True, others => False)), Swab_00_01 & Swab_00_02 & Swab_00_03 & Swab_00_04 & Swab_00_05 & Swab_00_06); Test_Io.New_Line; end Test_X_Char_Struct; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Char_Struct_Array_2d is procedure To_Raw is new Dummy.Convert_From_2d_Array (Xlbt_Font.X_Char_Struct, --/ if TeleGen2_2d_Bug then --// Xlbt_Arithmetic.Telegen2_2d_Bug, --/ else Xlbt_Arithmetic.U_Char, --/ end if; Xlbt_Arithmetic.U_Char, Xlbt_Font3.X_Char_Struct_Array_2d, Xlbmt_Network_Types.X_Raw_Data_Array); -- procedure Test is new Tests.Tester_2d (Xlbt_Font.X_Char_Struct, --/ if TeleGen2_2d_Bug then --// Xlbt_Arithmetic.Telegen2_2d_Bug, --/ else Xlbt_Arithmetic.U_Char, --/ end if; Xlbt_Arithmetic.U_Char, Xlbt_Font3.X_Char_Struct_Array_2d, "X_Char_Struct_Array_2d", To_Raw, Xlbip_Base_Converters.From_Raw); begin Test_Io.Section ("X_Char_Struct_Array_2d conversions"); Test ("1..0 => (1..0 => 0)", (1 .. 0 => (1 .. 0 => (0, 0, 0, 0, 0, (others => False)))), (1 .. 0 => 0)); Test ("1..1 => (2..2 => (1, 2, 3, 4, 5, 6))", (1 => (2 => (1, 2, 3, 4, 5, (Xlbt_Font.Xpcfi02 | Xlbt_Font.Xpcfi01 => True, others => False)))), Swab_00_01 & Swab_00_02 & Swab_00_03 & Swab_00_04 & Swab_00_05 & Swab_00_06); Test ("0..0 => (0..0 => (1, 2, 3, 4, 5, 6))", (0 => (0 => (1, 2, 3, 4, 5, (Xlbt_Font.Xpcfi02 | Xlbt_Font.Xpcfi01 => True, others => False)))), Swab_00_01 & Swab_00_02 & Swab_00_03 & Swab_00_04 & Swab_00_05 & Swab_00_06); Test ("(0, 1, 2), (3, 4, 5)", (((0, 0, 0, 0, 0, Xlbt_Font.None_X_Per_Char_Flags), (1, 0, 0, 0, 0, Xlbt_Font.None_X_Per_Char_Flags), (2, 0, 0, 0, 0, Xlbt_Font.None_X_Per_Char_Flags)), ((3, 0, 0, 0, 0, Xlbt_Font.None_X_Per_Char_Flags), (4, 0, 0, 0, 0, Xlbt_Font.None_X_Per_Char_Flags), (5, 0, 0, 0, 0, Xlbt_Font.None_X_Per_Char_Flags))), ((Swab_00_00 & (1 .. 10 => 0)) & (Swab_00_01 & (1 .. 10 => 0)) & (Swab_00_02 & (1 .. 10 => 0)) & (Swab_00_03 & (1 .. 10 => 0)) & (Swab_00_04 & (1 .. 10 => 0)) & (Swab_00_05 & (1 .. 10 => 0)))); Test_Io.New_Line; end Test_X_Char_Struct_Array_2d; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Colormap_Array is procedure To_Raw is new Dummy.Convert_From_Array (Xlbt_Basic.X_Colormap, Xlbt_Arithmetic.S_Natural, Xlbt_Basic.X_Colormap_Array, Xlbmt_Network_Types.X_Raw_Data_Array); procedure Test is new Tests.Tester_1d (Xlbt_Basic.X_Colormap, Xlbt_Arithmetic.S_Natural, Xlbt_Basic.X_Colormap_Array, "X_Colormap_Array", To_Raw, Xlbip_Base_Converters.From_Raw); begin Test_Io.Section ("X_Colormap_Array conversions"); Test ("1..0 => 0", (1 .. 0 => (Id => (Number => 0))), (1 .. 0 => 0)); Test ("1..1 => -1", (1 => (Id => (Number => Minus_1))), (1 .. 4 => Raw_Ff)); Test ("0..0 => 2", (0 => (Id => (Number => 2))), Swab_00_00_00_02); Test ("1..2 => 1", (1 .. 2 => (Id => (Number => 1))), Swab_00_00_00_01 & Swab_00_00_00_01); Test_Io.New_Line; end Test_X_Colormap_Array; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Event_Mask is procedure From_Raw is new Dummy.Convert_To_Private (Xlbt_Basic.X_Event_Mask, Xlbmt_Network_Types.X_Raw_Data_Array); procedure Test is new Tests.Tester (Xlbt_Basic.X_Event_Mask, "X_Event_Mask", Xlbip_Base_Converters.To_Raw, From_Raw); begin Test_Io.Section ("X_Event_Mask conversions"); Test ("0", (others => False), (1 .. 4 => 0)); Test ("-1", (others => True), (1 .. 4 => Raw_Ff)); Test ("1", (Xlbt_Basic.Key_Press_Mask => True, others => False), Swab_00_00_00_01); Test_Io.New_Line; end Test_X_Event_Mask; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Font_Prop_Array is procedure To_Raw is new Dummy.Convert_From_Array (Xlbt_Font3.X_Font_Prop, Xlbt_Arithmetic.S_Natural, Xlbt_Font3.X_Font_Prop_Array, Xlbmt_Network_Types.X_Raw_Data_Array); procedure Test is new Tests.Tester_1d (Xlbt_Font3.X_Font_Prop, Xlbt_Arithmetic.S_Natural, Xlbt_Font3.X_Font_Prop_Array, "X_Font_Prop_Array", To_Raw, Xlbip_Base_Converters.From_Raw); begin Test_Io.Section ("X_Font_Prop_Array conversions"); Test ("1..0 => 0", (1 .. 0 => ((Number => 0), 0)), (1 .. 0 => 0)); Test ("1..1 => -1", (1 => ((Number => Minus_1), Minus_1)), (1 .. 8 => Raw_Ff)); Test ("0..0 => 1", (0 => ((Number => 0), 1)), Swab_00_00_00_00 & Swab_00_00_00_01); Test ("(1, 2), (3, 4)", (((Number => 1), 2), ((Number => 3), 4)), (Swab_00_00_00_01 & Swab_00_00_00_02 & Swab_00_00_00_03 & Swab_00_00_00_04)); Test_Io.New_Line; end Test_X_Font_Prop_Array; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Id is procedure From_Raw is new Dummy.Convert_To_Private (Xlbt_Basic.X_Id, Xlbmt_Network_Types.X_Raw_Data_Array); procedure Test is new Tests.Tester (Xlbt_Basic.X_Id, "X_Id", Xlbip_Base_Converters.To_Raw, From_Raw); begin Test_Io.Section ("X_Id conversions"); Test ("0", (Number => 0), (1 .. 4 => 0)); Test ("-1", (Number => Minus_1), (1 .. 4 => Raw_Ff)); Test ("1", (Number => 1), Swab_00_00_00_01); Test_Io.New_Line; end Test_X_Id; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Key_Code_Array is procedure Test is new Tests.Tester_1d (Xlbt_Key.X_Key_Code, Xlbt_Arithmetic.S_Natural, Xlbt_Key.X_Key_Code_Array, "X_Key_Code_Array", Xlbip_Base_Converters.To_Raw, Xlbip_Base_Converters.From_Raw); begin Test_Io.Section ("X_Key_Code_Array conversions"); Test ("1..0 => 0", (1 .. 0 => 0), (1 .. 0 => 0)); Test ("5..5 => -1", (5 => 255), (1 .. 1 => Raw_Ff)); Test ("0..0 => 2", (0 => 2), (1 .. 1 => 2)); Test ("1, 2", (1, 2), (1, 2)); Test_Io.New_Line; end Test_X_Key_Code_Array; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Key_Sym is procedure Test is new Tests.Tester (Xlbt_Key.X_Key_Sym, "X_Key_Sym", Xlbip_Base_Converters.To_Raw, Xlbip_Base_Converters.From_Raw); begin Test_Io.Section ("X_Key_Sym conversions"); Test ("0", 0, (1 .. 4 => 0)); Test ("-1", Minus_1, (1 .. 4 => Raw_Ff)); Test ("1", 1, Swab_00_00_00_01); Test_Io.New_Line; end Test_X_Key_Sym; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Key_Sym_Array_2d is procedure Test is new Tests.Tester_2d (Xlbt_Key.X_Key_Sym, --/ if TeleGen2_2d_Bug then --// Xlbt_Arithmetic.Telegen2_2d_Bug, --/ else Xlbt_Key.X_Key_Code, --/ end if; Xlbt_Arithmetic.U_Char, Xlbt_Key.X_Key_Sym_Array_2d, "X_Key_Sym_Array_2d", Xlbip_Base_Converters.To_Raw, Xlbip_Base_Converters.From_Raw); begin Test_Io.Section ("X_Key_Sym_Array_2d conversions"); Test ("1..0 => (1..0 => 0)", (1 .. 0 => (1 .. 0 => 0)), (1 .. 0 => 0)); Test ("1..1 => (2..2 => -1)", (1 => (2 => Minus_1)), Swab_Ff_Ff_Ff_Ff); Test ("0..0 => (0..0 => 1)", (0 => (0 => 1)), Swab_00_00_00_01); Test ("(1,2,3), (4,5,6)", ((1, 2, 3), (4, 5, 6)), Swab_00_00_00_01 & Swab_00_00_00_02 & Swab_00_00_00_03 & Swab_00_00_00_04 & Swab_00_00_00_05 & Swab_00_00_00_06); Test_Io.New_Line; end Test_X_Key_Sym_Array_2d; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Led_Bits is procedure From_Raw is new Dummy.Convert_To_Private (Xlbt_Keyboard.X_Led_Bits, Xlbmt_Network_Types.X_Raw_Data_Array); procedure Test is new Tests.Tester (Xlbt_Keyboard.X_Led_Bits, "X_Led_Bits", Xlbip_Base_Converters.To_Raw, From_Raw); begin Test_Io.Section ("X_Led_Bits conversions"); Test ("0", (others => False), (1 .. 4 => 0)); Test ("-1", (others => True), (1 .. 4 => Raw_Ff)); Test ("1", (Xlbt_Keyboard.Led00 => True, others => False), Swab_00_00_00_01); Test_Io.New_Line; end Test_X_Led_Bits; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Modifier_Key_Code_Array is procedure Test is new Tests.Tester_1d (Xlbt_Key3.X_Modifier_Key_Code_Sub_Array, Xlbt_Arithmetic.S_Natural, Xlbt_Key3.X_Modifier_Key_Code_Array, "X_Modifier_Key_Code_Array", Xlbip_Base_Converters.To_Raw, Xlbip_Base_Converters.From_Raw); begin Test_Io.Section ("X_Modifier_Key_Code_Array conversions"); Test ("1..0 => 0", (1 .. 0 => (others => 0)), (1 .. 0 => 0)); Test ("2..2 => (1,2,3,4,5,6,7,8)", (2 => (1, 2, 3, 4, 5, 6, 7, 8)), (1, 2, 3, 4, 5, 6, 7, 8)); Test ("0..0 => (8,7,6,5,4,3,2,1)", (0 => (8, 7, 6, 5, 4, 3, 2, 1)), (8, 7, 6, 5, 4, 3, 2, 1)); Test ("(1), (2)", ((Xlbt_Key.Mod_5_Map_Index => 1, others => 0), (Xlbt_Key.Mod_5_Map_Index => 2, others => 0)), (0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2)); Test_Io.New_Line; end Test_X_Modifier_Key_Code_Array; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Pixel_Array is procedure Test is new Tests.Tester_1d (Xlbt_Basic.X_Pixel, Xlbt_Arithmetic.S_Natural, Xlbt_Basic.X_Pixel_Array, "X_Pixel_Array", Xlbip_Base_Converters.To_Raw, Xlbip_Base_Converters.From_Raw); begin Test_Io.Section ("X_Pixel_Array conversions"); Test ("1..0 => 0", (1 .. 0 => 0), (1 .. 0 => 0)); Test ("2..2 => -1", (2 => Minus_1), (1 .. 4 => Raw_Ff)); Test ("0..0 => 2", (0 => 2), Swab_00_00_00_02); Test ("1, 2", (1, 2), Swab_00_00_00_01 & Swab_00_00_00_02); Test_Io.New_Line; end Test_X_Pixel_Array; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Plane_Mask is procedure From_Raw is new Dummy.Convert_To_Discrete (Xlbt_Basic.X_Plane_Mask, Xlbmt_Network_Types.X_Raw_Data_Array); procedure Test is new Tests.Tester (Xlbt_Basic.X_Plane_Mask, "X_Plane_Mask", Xlbip_Base_Converters.To_Raw, From_Raw); begin Test_Io.Section ("X_Plane_Mask conversions"); Test ("0", 0, (1 .. 4 => 0)); Test ("-1", Minus_1, (1 .. 4 => Raw_Ff)); Test ("1", 1, Swab_00_00_00_01); Test_Io.New_Line; end Test_X_Plane_Mask; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Plane_Mask_Array is procedure To_Raw is new Dummy.Convert_From_Array (Xlbt_Basic.X_Plane_Mask, Xlbt_Arithmetic.S_Natural, Xlbt_Basic.X_Plane_Mask_Array, Xlbmt_Network_Types.X_Raw_Data_Array); procedure Test is new Tests.Tester_1d (Xlbt_Basic.X_Plane_Mask, Xlbt_Arithmetic.S_Natural, Xlbt_Basic.X_Plane_Mask_Array, "X_Plane_Mask_Array", To_Raw, Xlbip_Base_Converters.From_Raw); begin Test_Io.Section ("X_Plane_Mask_Array conversions"); Test ("1..0 => 0", (1 .. 0 => 0), (1 .. 0 => 0)); Test ("2..2 => -1", (2 => Minus_1), (1 .. 4 => Raw_Ff)); Test ("0..0 => 2", (0 => 2), Swab_00_00_00_02); Test ("1, 2", (1, 2), Swab_00_00_00_01 & Swab_00_00_00_02); Test_Io.New_Line; end Test_X_Plane_Mask_Array; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_String is -- procedure Test is new Tests.Tester_1d (Character, Positive, String, -- "String", To_Raw, From_Raw); -- begin -- Test_Io.Section ("String conversions"); -- Test ("1..0 => 0", (1 .. 0 => Ascii.Nul), (1 .. 0 => 0)); -- Test ("2..2 => 127", (2 => Ascii.Del), (1 => 127)); -- Test ("0..0 => 1", (0 => Ascii.Soh), (1 => 1)); -- Test ("Abc", "Abc", (65, 98, 99)); -- -- -- Verify that high bits are chopped in raw data. -- declare -- Result : String (1 .. 4); -- begin -- Test_Io.Put ("Chopping raw datum "); -- -- From_Raw (Result, (Raw_80, 16#7F#, Raw_Ab, Raw_Ff)); -- if (Result = Ascii.Nul & Ascii.Del & '+' & Ascii.Del) then -- Test_Io.Put_Line (". done."); -- else -- Test_Io.Put_Line ("<failed> done."); -- Test_Io.Put_Error ("Converter tests for String failed."); -- end if; -- exception -- when others => -- Test_Io.Put_Line ("<exception raised> aborted."); -- Test_Io.Put_Exception ("Converter tests for String" & -- " raised an unexpected exception."); -- end; -- -- -- Verify that translation works. -- declare -- Trans : X_Raw_Character_Array := (others => '?'); -- Result : String (1 .. 4); -- begin -- Test_Io.Put ("Translating raw datum "); -- -- Trans (Raw_80) := 'w'; -- Trans (16#7F#) := 'x'; -- Trans (Raw_Ab) := 'y'; -- Trans (Raw_Ff) := 'z'; -- From_Raw (Result, (Raw_80, 16#7F#, Raw_Ab, Raw_Ff), Trans); -- if (Result = "wxyz") then -- Test_Io.Put_Line (". done."); -- else -- Test_Io.Put_Line ("<failed> done."); -- Test_Io.Put_Error ("Converter tests for String failed."); -- end if; -- exception -- when others => -- Test_Io.Put_Line ("<exception raised> aborted."); -- Test_Io.Put_Exception ("Converter tests for String" & -- " raised an unexpected exception."); -- end; -- Test_Io.New_Line; -- end Test_String; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_String is procedure Test is new Tests.Tester_1d (Xlbt_String.X_Character, Xlbt_Arithmetic.S_Natural, Xlbt_String.X_String, "X_String", Xlbip_Base_Converters.To_Raw, Xlbip_Base_Converters.From_Raw); use Xlbt_String; begin Test_Io.Section ("X_String conversions"); Test ("1..0 => 0", (1 .. 0 => Nul), (1 .. 0 => 0)); Test ("2..2 => 255", (2 => C255), (1 => Raw_Ff)); Test ("0..0 => 1", (0 => Soh), (1 => 1)); Test ("Abc", "Abc", (65, 98, 99)); Test_Io.New_Line; end Test_X_String; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_String16 is procedure Test is new Tests.Tester_1d (Xlbt_String16.X_Character16, Xlbt_Arithmetic.S_Natural, Xlbt_String16.X_String16, "X_String16", Xlbip_Base_Converters.To_Raw, Xlbip_Base_Converters.From_Raw); -- The protocol says a STRING16 is a list of CHAR2B's, and -- stipulates that CHAR2Bs are NOT byte-swapped. They are -- always sent Most-Significant-Byte first. begin Test_Io.Section ("X_String16 conversions"); Test ("1..0 => 0", (1 .. 0 => (0, 0)), (1 .. 0 => 0)); Test ("2..2 => -1", (2 => (255, 255)), (Raw_Ff, Raw_Ff)); Test ("0..0 => 1", (0 => (0, 1)), (0, 1)); Test ("1.2, 3.4, 5.6", ((1, 2), (3, 4), (5, 6)), (1, 2, 3, 4, 5, 6)); Test_Io.New_Line; end Test_X_String16; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Text_Elt is procedure From_Raw is new Dummy.Convert_To_Private (Xlbt_Misc.X_Text_Elt, Xlbmt_Network_Types.X_Raw_Data_Array); procedure Test is new Tests.Tester (Xlbt_Misc.X_Text_Elt, "X_Text_Elt", Xlbip_Base_Converters.To_Raw, From_Raw); begin Test_Io.Section ("X_Text_Elt conversions"); Test ("0", (0, 0), (0, 0)); Test ("1", (1, 0), Swab_01_00); Test ("-1", (255, Minus_1), Swab_Ff_Ff); Test_Io.New_Line; end Test_X_Text_Elt; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Time_Coord_Array is procedure To_Raw is new Dummy.Convert_From_Array (Xlbt_Pointer.X_Time_Coord, Xlbt_Arithmetic.S_Natural, Xlbt_Pointer.X_Time_Coord_Array, Xlbmt_Network_Types.X_Raw_Data_Array); procedure Test is new Tests.Tester_1d (Xlbt_Pointer.X_Time_Coord, Xlbt_Arithmetic.S_Natural, Xlbt_Pointer.X_Time_Coord_Array, "X_Time_Coord_Array", To_Raw, Xlbip_Base_Converters.From_Raw); begin Test_Io.Section ("X_Time_Coord_Array conversions"); Test ("1..0 => 0", (1 .. 0 => (0, 0, 0)), (1 .. 0 => 0)); Test ("2..2 => -1", (2 => (Minus_1, 16#FFFF#, 16#FFFF#)), (1 .. 8 => Raw_Ff)); Test ("0..0 => 1", (0 => (0, 0, 1)), (1 .. 6 => 0) & Swab_00_01); Test ("1.2.3, 4.5.6", ((1, 2, 3), (4, 5, 6)), Swab_00_00_00_01 & Swab_00_02 & Swab_00_03 & Swab_00_00_00_04 & Swab_00_05 & Swab_00_06); Test_Io.New_Line; end Test_X_Time_Coord_Array; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_X_Window_Array is procedure To_Raw is new Dummy.Convert_From_Array (Xlbt_Basic.X_Window, Xlbt_Arithmetic.S_Natural, Xlbt_Basic.X_Window_Array, Xlbmt_Network_Types.X_Raw_Data_Array); procedure Test is new Tests.Tester_1d (Xlbt_Basic.X_Window, Xlbt_Arithmetic.S_Natural, Xlbt_Basic.X_Window_Array, "X_Window_Array", To_Raw, Xlbip_Base_Converters.From_Raw); begin Test_Io.Section ("X_Window_Array conversions"); Test ("1..0 => 0", (1 .. 0 => (Drawable => (Id => (Number => 0)))), (1 .. 0 => 0)); Test ("2..2 => -1", (2 => (Drawable => (Id => (Number => Minus_1)))), (1 .. 4 => Raw_Ff)); Test ("0..0 => 1", (0 => (Drawable => (Id => (Number => 1)))), Swab_00_00_00_01); Test ("1, 2", ((Drawable => (Id => (Number => 1))), (Drawable => (Id => (Number => 2)))), Swab_00_00_00_01 & Swab_00_00_00_02); Test_Io.New_Line; end Test_X_Window_Array; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_S_Long is procedure From_Raw is new Dummy.Convert_To_Discrete (Xlbt_Arithmetic.S_Long, Xlbmt_Network_Types.X_Raw_Data_Array); procedure Test is new Tests.Tester (Xlbt_Arithmetic.S_Long, "S_Long", Xlbip_Base_Converters.To_Raw, From_Raw); begin Test_Io.Section ("S_Long conversions"); Test ("0", 0, (1 .. 4 => 0)); Test ("1", 1, Swab_00_00_00_01); Test ("-1", Minus_1, (1 .. 4 => Raw_Ff)); Test_Io.New_Line; end Test_S_Long; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- procedure Test_U_Char_Array is procedure Test is new Tests.Tester_1d (Xlbt_Arithmetic.U_Char, Xlbt_Arithmetic.S_Natural, Xlbt_Arithmetic.U_Char_Array, "U_Char_Array", Xlbip_Base_Converters.To_Raw, Xlbip_Base_Converters.From_Raw); begin Test_Io.Section ("U_Char_Array conversions"); Test ("1..0 => 0", (1 .. 0 => 0), (1 .. 0 => 0)); Test ("2..2 => -1", (2 => 255), (1 => Raw_Ff)); Test ("0..0 => 1", (0 => 1), (1 => 1)); Test ("1, 2, 3", (1, 2, 3), (1, 2, 3)); Test_Io.New_Line; end Test_U_Char_Array; begin Test_X_Atom_Array; Test_X_Char_Struct; Test_X_Char_Struct_Array_2d; Test_X_Colormap_Array; Test_X_Event_Mask; Test_X_Font_Prop_Array; Test_X_Id; Test_X_Key_Code_Array; Test_X_Key_Sym; Test_X_Key_Sym_Array_2d; Test_X_Led_Bits; Test_X_Modifier_Key_Code_Array; Test_X_Pixel_Array; Test_X_Plane_Mask; Test_X_Plane_Mask_Array; -- Test_String; Test_X_String; Test_X_String16; Test_X_Text_Elt; Test_X_Time_Coord_Array; Test_X_Window_Array; Test_S_Long; Test_U_Char_Array; end Cvt_020;