|
|
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 - metrics - downloadIndex: B T
Length: 4973 (0x136d)
Types: TextFile
Names: »B«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00
└─⟦0c20f784e⟧ »DATA«
└─⟦1abbe589f⟧
└─⟦49e7f20b9⟧
└─⟦this⟧
with Xlbt_String7;
use Xlbt_String7;
with Xlbt_String;
use Xlbt_String;
with Xlbt_String16;
use Xlbt_String16;
with Test_Io;
use Test_Io;
with Xlbt_Arithmetic;
use Xlbt_Arithmetic;
with Xlbt_Rm;
use Xlbt_Rm;
with Xlbp_Rm;
use Xlbp_Rm;
with Xlbp_Rm_Name;
use Xlbp_Rm_Name;
with Xlbmp_Debugger;
procedure Rm_040 is
------------------------------------------------------------------------------
-- Tests for Xlbp_Rm - Entry assignment tests.
------------------------------------------------------------------------------
-- 07/05/90 GEB | Created.
------------------------------------------------------------------------------
Failed : exception;
Replist : X_Rm_Representation_List;
Value1 : X_Rm_Value;
Value2 : X_Rm_Value;
Rep_Boolean : X_Rm_Representation :=
X_Rm_String_To_Representation ("Boolean");
Rep_S_Long : X_Rm_Representation :=
X_Rm_String_To_Representation ("S_Long");
Rep_U_Long : X_Rm_Representation :=
X_Rm_String_To_Representation ("U_Long");
Rep_String_Pointer : X_Rm_Representation :=
X_Rm_String_To_Representation ("String");
Rep_String8_Pointer : X_Rm_Representation :=
X_Rm_String_To_Representation ("String8");
Rep_String16_Pointer : X_Rm_Representation :=
X_Rm_String_To_Representation ("String16");
Rep_U_Char_List : X_Rm_Representation :=
X_Rm_String_To_Representation ("U_Char_Array");
Rep_Universal_Pointer : X_Rm_Representation :=
X_Rm_String_To_Representation ("Universal");
begin
----Set up for debugging.
Xlbmp_Debugger.Register_Debugging_Imagers;
----Simple Store and Fetch operations.
Section ("Store/Fetch X_Rm_Entry values");
----Try assigning one of every type of value to a value and see if we get
-- any errors.
----BOOLEAN
Value1 := (Kind => Is_Boolean, V_Boolean => True);
Value2 := (Kind => Is_Boolean, V_Boolean => False);
if Value2.V_Boolean /= False then
raise Failed;
elsif Value1.V_Boolean /= True then
raise Failed;
end if;
--S_LONG
Value1 := (Kind => Is_S_Long, V_S_Long => 1);
Value2 := (Kind => Is_S_Long, V_S_Long => -20);
if Value2.V_S_Long /= -20 then
raise Failed;
elsif Value1.V_S_Long /= 1 then
raise Failed;
end if;
--S_Long
Value1 := (Kind => Is_S_Long, V_S_Long => 1);
Value2 := (Kind => Is_S_Long, V_S_Long => 20);
if Value2.V_S_Long /= 20 then
raise Failed;
elsif Value1.V_S_Long /= 1 then
raise Failed;
end if;
--STRING
declare
Str1 : X_String7_Pointer := new String'("Abcd");
Str2 : X_String7_Pointer := new String'("Quadro");
begin
Value1 := (Kind => Is_X_String7_Pointer, V_X_String7_Pointer => Str1);
Value2 := (Kind => Is_X_String7_Pointer, V_X_String7_Pointer => Str2);
if Value2.V_X_String7_Pointer /= Str2 then
raise Failed;
elsif Value1.V_X_String7_Pointer /= Str1 then
raise Failed;
end if;
end;
--STRING8
declare
Str1 : X_String_Pointer := new X_String (1 .. 10);
Str2 : X_String_Pointer := new X_String (20 .. 35);
begin
Value1 := (Kind => Is_X_String_Pointer, V_X_String_Pointer => Str1);
Value2 := (Kind => Is_X_String_Pointer, V_X_String_Pointer => Str2);
if Value2.V_X_String_Pointer /= Str2 then
raise Failed;
elsif Value1.V_X_String_Pointer /= Str1 then
raise Failed;
end if;
end;
--STRING16
declare
Str1 : X_String16_Pointer := new X_String16 (1 .. 10);
Str2 : X_String16_Pointer := new X_String16 (20 .. 35);
begin
Value1 := (Kind => Is_X_String16_Pointer, V_X_String16_Pointer => Str1);
Value2 := (Kind => Is_X_String16_Pointer, V_X_String16_Pointer => Str2);
if Value2.V_X_String16_Pointer /= Str2 then
raise Failed;
elsif Value1.V_X_String16_Pointer /= Str1 then
raise Failed;
end if;
end;
--U_Char_Array
declare
Str1 : U_Char_List := new U_Char_Array (1 .. 10);
Str2 : U_Char_List := new U_Char_Array (20 .. 35);
begin
Value1 := (Kind => Is_U_Char_List, V_U_Char_List => Str1);
Value2 := (Kind => Is_U_Char_List, V_U_Char_List => Str2);
if Value2.V_U_Char_List /= Str2 then
raise Failed;
elsif Value1.V_U_Char_List /= Str1 then
raise Failed;
end if;
end;
--UNIVERSAL_POINTER
Value1 := (Kind => Is_X_Universal_Pointer,
V_X_Universal_Pointer => None_X_Rm_Universal_Pointer);
if Value1.V_X_Universal_Pointer /= None_X_Rm_Universal_Pointer then
raise Failed;
end if;
end Rm_040;