{ A test program testing all the modules of ILAP }

Program testall (input,output);

Const
   %include 'nmos.consts'

Type
   %include 'nmos.types'

%Include 'nmos.specs'

Procedure RAM %alias 'ILAP_RAM' (X, Y:integer);extern;

Procedure starttest (name:string[63]);
   
   Var i :integer;

   Begin
      writeln;
      For i := 1 to 72 do write ('#');
      writeln;
      writeln;
      writeln (name);
      writeln;
   End;

{#      T E S T  9  :  A test of the ILAP river-router                         #}
{#                                                                             #}
{###############################################################################}

Procedure Test9;
   
   Const
      mwid=3;       { metal line width}
      msep=3;       { metal line separation}

   Var
      a ,b : array [1..12] of port;
      i,sepn : integer;

begin
   starttest ('A test of the river-router');

   for i :=1 to 12 do begin
      a[i].x := 7*i+35;
      a[i].w := 4;
      b[i].x := 15*(i-1);
      b[i].w := 4;
   end;
   sepn := route ('river route', a, b, 12, metal, mwid, msep, 0);

   symbol('river route demo');
      for i := 1 to 12 do pm (a[i].x+2, 1) ;
      draw ('river route', 0, 0);
      for i := 1 to 12 do dm (b[i].x+2, sepn-1);
   endsymbol;
end;

Begin
   INITIALISE ('tester');

   test9;

   starttest ('');
   givestatistics;
   finish;

End.
