DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦0e4a0a86e⟧ Ada Source

    Length: 11264 (0x2c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Test, seg_0469a7

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with Tests, Text_Io;

procedure Test_Test is

    Ok : Boolean;
    A_Test : Tests.Type_Test;
    A_Effect : Tests.Type_Effect;

    procedure Fill_Test (The_Test : in out Tests.Type_Test;
                         Kind : Tests.Test_Operation;
                         Name : String;
                         State : String := "") is
    begin
        The_Test.Kind := Kind;
        The_Test.Name := Tests.Identifier.Value (Name);
        The_Test.State := Tests.Identifier.Value (State);
    end Fill_Test;

    procedure Fill_Test (The_Test : in out Tests.Type_Test;
                         Kind : Tests.Test_Operation;
                         Name : String;
                         Value : Integer) is
    begin
        The_Test.Kind := Kind;
        The_Test.Name := Tests.Identifier.Value (Name);
        The_Test.Value := Value;
    end Fill_Test;

    procedure Fill_Effect (The_Effect : in out Tests.Type_Effect;
                           Kind : Tests.Effect_Operation;
                           Name : String := "";
                           State : String := "";
                           Other_State : String := "";
                           Position : String := "";
                           Value : Integer := 0) is
    begin
        The_Effect.Kind := Kind;
        The_Effect.Name := Tests.Identifier.Value (Name);
        The_Effect.State := Tests.Identifier.Value (State);
        The_Effect.Other_State := Tests.Identifier.Value (Other_State);
        The_Effect.Position := Tests.Identifier.Value (Position);
        The_Effect.Value := Value;
    end Fill_Effect;

    procedure Fill_Effect (The_Effect : in out Tests.Type_Effect;
                           Kind : Tests.Effect_Operation;
                           Name : String;
                           Value : Integer) is
    begin
        The_Effect.Kind := Kind;
        The_Effect.Name := Tests.Identifier.Value (Name);
        The_Effect.Value := Value;
    end Fill_Effect;

begin
    Fill_Test (A_Test, Tests.Is_A_Verb, "manger");
    Tests.Create;  
    Tests.Add_Test (A_Test);

    Fill_Test (A_Test, Tests.Is_A_Complement, "une");
    Tests.Add_Test (A_Test);

    Fill_Test (A_Test, Tests.Is_A_Complement, "pomme");
    Tests.Add_Test (A_Test);

    Fill_Test (A_Test, Tests.Is_In_State, "Cuisine", "eclairee");
    Tests.Add_Test (A_Test);

    Fill_Test (A_Test, Tests.Is_Equal, "Compteur1", 12);
    Tests.Add_Test (A_Test);

    Fill_Test (A_Test, Tests.Is_Greater, "Vie_joueur", -50);
    Tests.Add_Test (A_Test);

    Fill_Test (A_Test, Tests.Is_Less, "petrol", 20);
    Tests.Add_Test (A_Test);

    Fill_Effect (A_Effect, Tests.Increase, "petrol");
    Tests.Add_Effect (A_Effect);

    Fill_Effect (A_Effect, Tests.Decrease, "compteur1");
    Tests.Add_Effect (A_Effect);

    Fill_Effect (A_Effect, Tests.Value, "vie", 100);
    Tests.Add_Effect (A_Effect);

    Fill_Effect (A_Effect, Tests.Print, "joueur", "etat1");
    Tests.Add_Effect (A_Effect);

    Fill_Effect (A_Effect, Tests.Comment, "cuisine", "enfumee");
    Tests.Add_Effect (A_Effect);

    Fill_Effect (A_Effect, Tests.Game_Over);
    Tests.Add_Effect (A_Effect);

    Fill_Effect (A_Effect, Tests.Change, "heros",
                 "pleine forme", "fatigue", "donjon");
    Tests.Add_Effect (A_Effect);

    Fill_Effect (A_Effect, Tests.Position, "monstre", "cave");
    Tests.Add_Effect (A_Effect);

    ----------
    Fill_Test (A_Test, Tests.Is_A_Verb, "prendre");
    Tests.Create;
    Tests.Add_Test (A_Test);

    Fill_Effect (A_Effect, Tests.Print, "joueur2", "etat");
    Tests.Add_Effect (A_Effect);

    Fill_Effect (A_Effect, Tests.Game_Over);
    Tests.Add_Effect (A_Effect);

    Fill_Effect (A_Effect, Tests.Comment, "bureau", "sale");
    Tests.Add_Effect (A_Effect);

    Fill_Test (A_Test, Tests.Is_A_Complement, "");
    Tests.Add_Test (A_Test);

    Fill_Test (A_Test, Tests.Is_A_Complement, "lampe");
    Tests.Add_Test (A_Test);

    Fill_Test (A_Test, Tests.Is_In_State, "bureau", "eclaire");
    Tests.Add_Test (A_Test);

    Fill_Test (A_Test, Tests.Is_Equal, "Compteur", 1);
    Tests.Add_Test (A_Test);

    Fill_Test (A_Test, Tests.Is_Greater, "Vie", -50);
    Tests.Add_Test (A_Test);

    Fill_Test (A_Test, Tests.Is_Less, "lumiere", 20);
    Tests.Add_Test (A_Test);

    ----------

    Fill_Test (A_Test, Tests.Is_In_State, "salon", "obscure");
    Tests.Create;
    Tests.Add_Test (A_Test);

    Fill_Test (A_Test, Tests.Is_In_State, "Chambre", "enfumee");
    Tests.Add_Test (A_Test);

    Fill_Effect (A_Effect, Tests.Game_Over);
    Tests.Add_Effect (A_Effect);

    Fill_Test (A_Test, Tests.Is_Equal, "electricite", 12);
    Tests.Add_Test (A_Test);

    Fill_Test (A_Test, Tests.Is_Greater, "cpt1", -50);
    Tests.Add_Test (A_Test);

    Fill_Test (A_Test, Tests.Is_Less, "cp2", 20);
    Tests.Add_Test (A_Test);

    ----------


    Tests.Beginner;  
    while not Tests.At_End loop
        Tests.First_Test;  
        Tests.First_Effect;
        Text_Io.New_Line;
        Text_Io.Put_Line ("nouvelle ligne");

        while not Tests.At_End_Sup loop
            A_Test := Tests.Get_Test;
            case A_Test.Kind is
                when Tests.Is_A_Verb =>
                    Text_Io.Put ("   Verb       : ");
                when Tests.Is_A_Complement =>
                    Text_Io.Put ("   Complement : ");
                when Tests.Is_In_State =>
                    Text_Io.Put ("   State      : ");
                when Tests.Is_Equal =>
                    Text_Io.Put ("   Equal      : ");
                when Tests.Is_Greater =>
                    Text_Io.Put ("   Greater    : ");
                when Tests.Is_Less =>
                    Text_Io.Put ("   Less       : ");
                when Tests.Is_In_Position =>
                    Text_Io.Put ("   In_Position       : ");
            end case;
            Text_Io.Put_Line (Tests.Identifier.Image (A_Test.Name));
            Tests.Test_Sup;
        end loop;
        Text_Io.New_Line;
        while not Tests.At_End_Effect loop
            A_Effect := Tests.Get_Effect;
            case A_Effect.Kind is
                when Tests.Increase =>
                    Text_Io.Put (" Increase : ");
                when Tests.Decrease =>
                    Text_Io.Put (" Decrease : ");
                when Tests.Value =>
                    Text_Io.Put (" Value    : ");
                when Tests.Print =>
                    Text_Io.Put (" Print    : ");
                when Tests.Comment =>
                    Text_Io.Put (" Comment  : ");
                when Tests.Game_Over =>
                    Text_Io.Put (" << Game_Over >> ");
                when Tests.Change =>
                    Text_Io.Put ("  Change  : ");
                when Tests.Position =>
                    Text_Io.Put (" Position : ");
            end case;
            Text_Io.Put_Line (Tests.Identifier.Image (A_Effect.Name));
            Tests.Next_Effect;
        end loop;
        Tests.Next;
    end loop;
end Test_Test;

E3 Meta Data

    nblk1=a
    nid=2
    hdr6=12
        [0x00] rec0=17 rec1=00 rec2=01 rec3=034
        [0x01] rec0=17 rec1=00 rec2=07 rec3=082
        [0x02] rec0=21 rec1=00 rec2=05 rec3=01c
        [0x03] rec0=1f rec1=00 rec2=09 rec3=028
        [0x04] rec0=23 rec1=00 rec2=04 rec3=02e
        [0x05] rec0=20 rec1=00 rec2=0a rec3=00a
        [0x06] rec0=0c rec1=00 rec2=03 rec3=01a
        [0x07] rec0=17 rec1=00 rec2=06 rec3=01c
        [0x08] rec0=03 rec1=00 rec2=08 rec3=001
        [0x09] rec0=05 rec1=0c rec2=79 rec3=126
    tail 0x215434e4a865169011b4e 0x42a00088462060003
Free Block Chain:
  0x2: 0000  00 00 01 84 80 07 66 66 65 63 74 29 3b 07 00 00  ┆      ffect);   ┆