#!/bin/csh

if ( ! -e mst ) then
  echo "mst.cpp has not been compiled."
  exit 1
endif

if ( ! -d data ) then
  mkdir data
  echo 10      > data/data1.txt
  echo 1 2 30  >> data/data1.txt
  echo 1 3 1   >> data/data1.txt
  echo 2 3 10  >> data/data1.txt
  echo 2 5 11  >> data/data1.txt
  echo 2 6 12  >> data/data1.txt
  echo 7 6 19  >> data/data1.txt
  echo 3 7 50  >> data/data1.txt
  echo 6 5 17  >> data/data1.txt
  echo 3 4 15  >> data/data1.txt
  echo 4 5 19  >> data/data1.txt
  echo 3 8 32  >> data/data1.txt
  echo 5 8 40  >> data/data1.txt
  echo 8 7 3   >> data/data1.txt
  echo 9 4 25  >> data/data1.txt
  echo 10 3 13 >> data/data1.txt
  echo 0       >> data/data1.txt

  echo 5      > data/data2.txt
  echo 1 2 10 >> data/data2.txt
  echo 1 3 10 >> data/data2.txt
  echo 1 4 30 >> data/data2.txt
  echo 4 5 5  >> data/data2.txt
  echo 0      >> data/data2.txt

  echo 8      > data/data3.txt
  echo 1 2 20 >> data/data3.txt
  echo 1 3 19 >> data/data3.txt
  echo 2 3 18 >> data/data3.txt
  echo 3 4 17 >> data/data3.txt
  echo 5 3 16 >> data/data3.txt
  echo 5 4 15 >> data/data3.txt
  echo 4 6 14 >> data/data3.txt
  echo 4 7 13 >> data/data3.txt
  echo 6 7 12 >> data/data3.txt
  echo 8 7 10 >> data/data3.txt
  echo 8 1 50 >> data/data3.txt
  echo 0      >> data/data3.txt

  echo 6      > data/data4.txt
  echo 1 2 1  >> data/data4.txt
  echo 1 3 3  >> data/data4.txt
  echo 1 4 6  >> data/data4.txt
  echo 1 5 8  >> data/data4.txt
  echo 2 3 2  >> data/data4.txt
  echo 2 4 5  >> data/data4.txt
  echo 2 5 9  >> data/data4.txt
  echo 3 4 4  >> data/data4.txt
  echo 3 5 10 >> data/data4.txt
  echo 4 5 7  >> data/data4.txt
  echo 5 6 11 >> data/data4.txt
  echo 0      >> data/data4.txt

endif

limit cputime 1
foreach n ( 1 2 3 4 )
  echo "---------------------------------------"
  echo "test data/data${n}.txt"
  echo
  ./mst < data/data${n}.txt
  set s = $status
  if ($s == 152) then
    echo "Time limit exceeded"
    exit 1
  else if ($s == 139) then
    echo "Segmentation fault"
    exit 1
  else if ($s != 0) then
    echo "Fault" $s
    exit 1
  endif
end
