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

⟦70b36297b⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Robots_Bricks_Tests, seg_011735

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 Slot, Instance, Text_Io;
with Robot, Brick, Robot_Features, Brick_Features;
package body Robots_Bricks_Tests is
    use Robot_Features, Brick_Features, Slot.Operators;
    -- True  : constant Slot.Object := Slot.True_Object;
    -- False : Slot.Object          := Slot.True_Object;

------------------------------------------------------------------------------
    function Pack_It_Test
                (Br : Brick.Object; Ro : Robot.Object) return Boolean is
        Ok : Boolean;
    begin
        return Brick.Value_Of (Br, Place) = In_The_Heap and then
                  Robot.Value_Of (Ro, Is_Busy) = Slot.False_Object and then
                  Robot.Value_Of (Ro, The_Task) =
                     State_Slot_Tasks.Value (Take) and then
                  not Brick.Exist (Attribute  => Place,
                                   Operator   => Brick.Equal,
                                   Value      => In_The_Heap,
                                   Attribute2 => Size,
                                   Operator2  => Brick.Greater,
                                   Value2     => Brick.Value_Of (Br, Size));

    end Pack_It_Test;

------------------------------------------------------------------------------

    function Get_Test (Br : Brick.Object; Ro : Robot.Object) return Boolean is
    begin
        return Robot.Value_Of (Ro, The_Task) =
                  State_Slot_Tasks.Value (Take) and then
               Robot.Value_Of (Ro, Is_Busy) = Slot.True_Object and then
               Brick.Value_Of (Br, Place) = In_The_Nippers;
    end Get_Test;

------------------------------------------------------------------------------
    function Put_To_Case_Test
                (Br : Brick.Object; Ro : Robot.Object) return Boolean is
    begin
        return  
           Robot.Value_Of (Ro, The_Task) = State_Slot_Tasks.Value (Put) and then
              Brick.Value_Of (Br, Place) = In_The_Nippers and then
              not Robot.Exist (Attribute  => Old,
                               Operator   => Robot.Less,
                               Value      => Robot.Value_Of (Ro, Old),
                               Attribute2 => The_Task,
                               Operator2  => Robot.Equal,
                               Value2     => State_Slot_Tasks.Value (Put));
    end Put_To_Case_Test;


------------------------------------------------------------------------------
    function Stop_Test (Br : Brick.Object; Ro : Robot.Object) return Boolean is
    begin
        return  
           Robot.Value_Of (Ro, The_Task) =
              State_Slot_Tasks.Value (Take) and then
           Robot.Value_Of (Ro, Is_Busy) = Slot.False_Object and then
           Brick.Value_Of (Br, Place) /= In_The_Heap;
    end Stop_Test;


end Robots_Bricks_Tests;

E3 Meta Data

    nblk1=6
    nid=5
    hdr6=6
        [0x00] rec0=15 rec1=00 rec2=01 rec3=05e
        [0x01] rec0=17 rec1=00 rec2=02 rec3=022
        [0x02] rec0=15 rec1=00 rec2=06 rec3=000
        [0x03] rec0=14 rec1=00 rec2=05 rec3=002
        [0x04] rec0=0f rec1=00 rec2=02 rec3=000
        [0x05] rec0=04 rec1=00 rec2=05 rec3=000
    tail 0x2150cf6aa823a4c1bee74 0x42a00088462063c03
Free Block Chain:
  0x5: 0000  00 04 03 66 80 1c 6f 74 2e 45 78 69 73 74 20 28  ┆   f  ot.Exist (┆
  0x4: 0000  00 03 03 fc 80 1a 56 61 6c 75 65 20 20 20 20 20  ┆      Value     ┆
  0x3: 0000  00 00 00 5e 80 03 2d 2d 2d 03 00 00 00 00 4e 20  ┆   ^  ---     N ┆