	60 listversions
	5 listtests
#!/bin/bash

if test $# -ne 1
then echo "Usage: $0 <Variant>"
        echo "Variant: 1...38"
	exit 1
fi

if [ ! ${experiment_root} ]
then
    echo "experiment_root unset, set it in the shell and retry"
    exit 1
fi

#experiment_root=/home/icabral
#subject_root=${experiment_root}/subjects/SPL-CaseStudies/GraphSPL/GPL-sofya

subject_root=${experiment_root}/GraphSPL

PATH_SUBJECT=${subject_root}/source:${subject_root}/source/instanceGPL

oldClassPath=${CLASSPATH}

CLASSPATH=${PATH_SUBJECT}:.:${experiment_root}/tools:${experiment_root}/tools/junitSelection/build:${experiment_root}/tools/junitSelection/lib/junit.jar:${experiment_root}/tools/sofya:${experiment_root}/tools/sofya/build:${experiment_root}/tools/sofya/lib/commons-collections.jar:${experiment_root}/tools/sofya/lib/trove/lib/trove.jar:${experiment_root}/tools/bcel-5.2/bcel-5.2.jar

export CLASSPATH

#JAVA_HOME=/home/icabral/tools/jdk1.6.0_16
#export JAVA_HOME
if [ ! ${JAVA_HOME} ]
then
    echo "JAVA_HOME not set in environment, set it in the shell and retry"
    exit 2
fi


PATH=${JAVA_HOME}/bin:${PATH}
export PATH

v=$1

cwd=`pwd`
cd ${subject_root}/source/GPLFeatures

if [ `grep " Connected" ${subject_root}/versions.alt/orig/v${v}/instanceGPL` ]
  then
     cc=1;
  else
     cc=0;
fi

if [ `grep " StronglyConnected" ${subject_root}/versions.alt/orig/v${v}/instanceGPL` ]
  then
     scc=1;
  else
     scc=0;
fi

if [ `grep MSTPrim ${subject_root}/versions.alt/orig/v${v}/instanceGPL` ]
  then
     mstp=1;
  else
     mstp=0;
fi

if [ `grep MSTKruskal ${subject_root}/versions.alt/orig/v${v}/instanceGPL` ]
  then
     mstk=1;
  else
     mstk=0;
fi

if [ `grep Shortest ${subject_root}/versions.alt/orig/v${v}/instanceGPL` ]
  then
     sssp=1;
  else
     sssp=0;
fi

if [ `grep Cycle ${subject_root}/versions.alt/orig/v${v}/instanceGPL` ]
  then
     cycle=1;
  else
     cycle=0;
fi

if [ `grep Number ${subject_root}/versions.alt/orig/v${v}/instanceGPL` ]
  then
     num=1;
  else
     num=0;
fi

if [ `grep Directed ${subject_root}/versions.alt/orig/v${v}/instanceGPL` ]
  then
     dir=1;
  else
     dir=0;
fi

id=0;

echo "    Testing 0 - Wrong input filename"
java instanceGPL.Main ../../inputs/WrongFile v1 >& ../../outputs/t${id}
id=`expr ${id} + 1`

echo "    Testing 1 - Invalid Graph"
java instanceGPL.Main ../../inputs/InvalidGraph.bench v1 >& ../../outputs/t${id}
id=`expr ${id} + 1`

if [ ${cc}  -eq 1 ]
  then
    echo "    Testing "${id}" - CCExample - small graph"
    java instanceGPL.Main ../../inputs/CC_small.bench v1 >& ../../outputs/t${id}   
    id=`expr ${id} + 1`

    echo "    Testing "${id}" - CCExample - large graph"
    java instanceGPL.Main ../../inputs/CC_large.bench v1 >& ../../outputs/t${id}
    id=`expr ${id} + 1`

    echo "    Testing "${id}" - CCExample - Weighted"
    java instanceGPL.Main ../../inputs/CC_weighted.bench v1 >& ../../outputs/t${id}
    id=`expr ${id} + 1`
fi

if [ ${scc} -eq 1 ]
  then
    echo "    Testing "${id}" - SCC - small graph"
    java instanceGPL.Main ../../inputs/SCC_small.bench v1 >& ../../outputs/t${id}
    id=`expr ${id} + 1`

    echo "    Testing "${id}" - SCC - large graph"
    java instanceGPL.Main ../../inputs/SCC_large.bench v1 >& ../../outputs/t${id}
    id=`expr ${id} + 1`

    echo "    Testing "${id}" - SCC - Weighted"
    java instanceGPL.Main ../../inputs/SCC_weighted.bench v1 >& ../../outputs/t${id}
    id=`expr ${id} + 1`
fi

if [ ${sssp} -eq 1 ]
  then
    echo "    Testing "${id}" - SSSP"
    java instanceGPL.Main ../../inputs/SSSP.bench v1 >& ../../outputs/t${id}
    id=`expr ${id} + 1`
fi

if [ ${mstp} -eq 1 ]
  then
   echo "    Testing "${id}" - MST - small graph"
   java instanceGPL.Main ../../inputs/MST_small.bench v1 >& ../../outputs/t${id}
   id=`expr ${id} + 1`

   echo "    Testing "${id}" - MST - large graph"
   java instanceGPL.Main ../../inputs/MST_large.bench v1 >& ../../outputs/t${id}
   id=`expr ${id} + 1`
fi

if [ ${num} -eq 1 ]
  then
    echo "    Testing "${id}" - Numbering Vertex"
    java instanceGPL.Main ../../inputs/Number.bench v1 >& ../../outputs/t${id}
    id=`expr ${id} + 1`
fi

if [ ${cycle} -eq 1 ]
  then
    echo "    Testing "${id}" - Cycle 1"
    java instanceGPL.Main ../../inputs/CycleExample1.bench v1 >& ../../outputs/t${id}
    id=`expr ${id} + 1`

    echo "    Testing "${id}" - Cycle 2"
    java instanceGPL.Main ../../inputs/CycleExample2.bench v1 >& ../../outputs/t${id}
    id=`expr ${id} + 1`

    echo "    Testing "${id}" - Cycle 3"
    java instanceGPL.Main ../../inputs/CycleExample3.bench v1 >& ../../outputs/t${id}
    id=`expr ${id} + 1`

    echo "    Testing "${id}" - Cycle 4"
    java instanceGPL.Main ../../inputs/CycleExample4.bench v1 >& ../../outputs/t${id}
    id=`expr ${id} + 1`

    echo "    Testing "${id}" - Hamiltonian cycle"
    java instanceGPL.Main ../../inputs/hamiltonian.bench v1 >& ../../outputs/t${id}
    id=`expr ${id} + 1`

    if [ ${dir} -eq 1 ]
  	then
    	   echo "    Testing "${id}" - Cycle - Minimum Edges Directed"
    	   java instanceGPL.Main ../../inputs/MinEdges-Dir.bench v1 >& ../../outputs/t${id}
           id=`expr ${id} + 1`
    fi

    if [ ${dir} -eq 0 ]
  	then
    	   echo "    Testing "${id}" - Cycle - Minimum Edges Undirected"
    	   java instanceGPL.Main ../../inputs/MinEdges-Undir.bench v1 >& ../../outputs/t${id}
           id=`expr ${id} + 1`
    fi
fi
# restore the current working dir
cd $cwd
############## END OF TEST SCRIPT/UNIVERSE FILE: run-OrigTests.sh #############
unitest0:
v1:
	0
v2:
	0
v3:
	0
v4:
	0
v5:
	0
v6:
	0
v7:
	0
v8:
	0
v9:
	0
v10:
	0
v11:
	0
v12:
	0
v13:
	0
v14:
	0
v15:
	0
v16:
	0
v17:
	0
v18:
	0
v19:
	0
v20:
	0
v21:
	0
v22:
	0
v23:
	0
v24:
	0
v25:
	0
v26:
	0
v27:
	0
v28:
	0
v29:
	0
v30:
	0
v31:
	0
v32:
	0
v33:
	0
v34:
	0
v35:
	0
v36:
	0
v37:
	0
v38:
	0
v39:
	0
v40:
	0
v41:
	0
v42:
	0
v43:
	0
v44:
	0
v45:
	0
v46:
	0
v47:
	0
v48:
	0
v49:
	0
v50:
	0
v51:
	0
v52:
	0
v53:
	0
v54:
	0
v55:
	0
v56:
	0
v57:
	0
v58:
	0
v59:
	0
v60:
	0
unitest1:
v1:
	1
v2:
	1
v3:
	1
v4:
	0
v5:
	0
v6:
	0
v7:
	0
v8:
	0
v9:
	0
v10:
	0
v11:
	0
v12:
	0
v13:
	0
v14:
	0
v15:
	0
v16:
	0
v17:
	0
v18:
	0
v19:
	0
v20:
	0
v21:
	0
v22:
	0
v23:
	0
v24:
	1
v25:
	0
v26:
	0
v27:
	0
v28:
	0
v29:
	1
v30:
	0
v31:
	0
v32:
	0
v33:
	1
v34:
	0
v35:
	0
v36:
	0
v37:
	0
v38:
	1
v39:
	0
v40:
	0
v41:
	0
v42:
	0
v43:
	0
v44:
	0
v45:
	1
v46:
	0
v47:
	0
v48:
	0
v49:
	0
v50:
	0
v51:
	0
v52:
	0
v53:
	1
v54:
	0
v55:
	0
v56:
	0
v57:
	0
v58:
	0
v59:
	0
v60:
	0
unitest2:
v1:
	1
v2:
	1
v3:
	1
v4:
	0
v5:
	0
v6:
	0
v7:
	0
v8:
	0
v9:
	0
v10:
	0
v11:
	0
v12:
	0
v13:
	0
v14:
	0
v15:
	0
v16:
	0
v17:
	0
v18:
	0
v19:
	0
v20:
	0
v21:
	0
v22:
	0
v23:
	0
v24:
	1
v25:
	0
v26:
	0
v27:
	0
v28:
	0
v29:
	1
v30:
	0
v31:
	0
v32:
	0
v33:
	1
v34:
	0
v35:
	0
v36:
	1
v37:
	0
v38:
	1
v39:
	0
v40:
	0
v41:
	0
v42:
	0
v43:
	0
v44:
	0
v45:
	1
v46:
	0
v47:
	0
v48:
	0
v49:
	0
v50:
	0
v51:
	0
v52:
	0
v53:
	1
v54:
	0
v55:
	0
v56:
	0
v57:
	0
v58:
	0
v59:
	0
v60:
	0
unitest3:
v1:
	1
v2:
	1
v3:
	1
v4:
	0
v5:
	0
v6:
	0
v7:
	0
v8:
	0
v9:
	0
v10:
	0
v11:
	0
v12:
	0
v13:
	0
v14:
	0
v15:
	0
v16:
	0
v17:
	0
v18:
	0
v19:
	0
v20:
	0
v21:
	0
v22:
	0
v23:
	0
v24:
	1
v25:
	0
v26:
	0
v27:
	0
v28:
	0
v29:
	1
v30:
	0
v31:
	0
v32:
	0
v33:
	1
v34:
	0
v35:
	0
v36:
	1
v37:
	0
v38:
	1
v39:
	0
v40:
	0
v41:
	0
v42:
	0
v43:
	0
v44:
	0
v45:
	1
v46:
	0
v47:
	0
v48:
	0
v49:
	0
v50:
	0
v51:
	0
v52:
	0
v53:
	1
v54:
	0
v55:
	0
v56:
	0
v57:
	0
v58:
	0
v59:
	0
v60:
	0
unitest4:
v1:
	1
v2:
	1
v3:
	1
v4:
	0
v5:
	0
v6:
	0
v7:
	0
v8:
	0
v9:
	0
v10:
	0
v11:
	0
v12:
	0
v13:
	0
v14:
	0
v15:
	0
v16:
	0
v17:
	0
v18:
	0
v19:
	0
v20:
	0
v21:
	0
v22:
	0
v23:
	0
v24:
	1
v25:
	1
v26:
	0
v27:
	0
v28:
	0
v29:
	1
v30:
	0
v31:
	0
v32:
	0
v33:
	1
v34:
	0
v35:
	0
v36:
	1
v37:
	0
v38:
	1
v39:
	0
v40:
	0
v41:
	0
v42:
	0
v43:
	0
v44:
	0
v45:
	1
v46:
	0
v47:
	0
v48:
	0
v49:
	0
v50:
	0
v51:
	0
v52:
	0
v53:
	1
v54:
	0
v55:
	0
v56:
	0
v57:
	0
v58:
	0
v59:
	0
v60:
	0
