marking3/knight3_test.sh
changeset 258 ebe71908b13e
parent 243 9bb36426c781
child 259 43995ea34fe7
--- a/marking3/knight3_test.sh	Mon Jan 21 16:04:30 2019 +0000
+++ b/marking3/knight3_test.sh	Tue Jan 22 12:53:05 2019 +0000
@@ -9,26 +9,33 @@
 echo "" > $out
 
 echo "Below is the feedback and provisional marks for your submission" >> $out
-echo "for assignment 7 Part 2.  Please note all marks are provisional until" >> $out
+echo "for assignment 8 Advanced Part 2.  Please note all marks are provisional until" >> $out
 echo "ratified by the assessment board -- this is not an official" >> $out
 echo "results transcript." >> $out
 echo "" >> $out
 
-# marks for CW7 part 2
+# marks for CW8 part 2
 marks=$(( 0 ))
 
 # compilation tests
 
 function scala_compile {
-    (ulimit -t 360; JAVA_OPTS="-Xmx1g" scala "$1" 2> /dev/null 1> /dev/null)
+    (ulimit -t 30; JAVA_OPTS="-Xmx1g" scala -nc "$1" 2> /dev/null 1> /dev/null)
 }
 
 # functional tests
 
 function scala_assert {
-    (ulimit -t 360; JAVA_OPTS="-Xmx4g -Xss200m" scala -i "$1" "$2" -e "" 2> /dev/null 1> /dev/null)
+    (ulimit -t 30; JAVA_OPTS="-Xmx4g -Xss200m" scala -nc -i "$1" "$2" -e "" 2> /dev/null 1> /dev/null)
 }
 
+function scala_assert_long {
+  (ulimit -t 60; JAVA_OPTS="-Xmx1g" scala -nc -i "$1" "$2" -e "" 2> /dev/null 1> /dev/null)
+}
+
+function scala_assert_elong {
+  (ulimit -t 90; JAVA_OPTS="-Xmx1g" scala -nc -i "$1" "$2" -e "" 2> /dev/null 1> /dev/null)
+}
 
 # purity test
 
@@ -37,12 +44,12 @@
 }
 
 
-# knights3: purity test
+# knights2: purity test
 #
-echo "knight3.scala does not contain vars, returns, Arrays, ListBuffers etc?" | tee -a $out
+echo "knight2.scala does not contain vars, returns, Arrays, ListBuffers etc?" | tee -a $out
 
 
-if (scala_vars knight3.scala)
+if (scala_vars knight2.scala)
 then
   echo "  --> test failed" | tee -a $out
   tsts0=$(( 1 ))
@@ -55,14 +62,14 @@
 # compilation test
 if  [ $tsts0 -eq 0 ]
 then    
-  echo "knight3.scala runs?" | tee -a $out
+  echo "knight2.scala runs?" | tee -a $out
 
-  if (scala_compile knight3.scala)
+  if (scala_compile knight2.scala)
   then
     echo "  --> success" | tee -a $out
     tsts1=$(( 0 ))
   else
-    echo "  --> scala knight3.scala did not run successfully" | tee -a $out
+    echo "  --> scala knight2.scala did not run successfully" | tee -a $out
     tsts1=$(( 1 )) 
   fi
 else
@@ -77,7 +84,7 @@
   echo " ordered_moves(8, List((4,0)), (0,0)) == List((2,1), (1,2))" | tee -a $out
   echo " ordered_moves(8, List((0,4)), (0,0)) == List((1,2), (2,1))" | tee -a $out
   
-  if (scala_assert "knight3.scala" "knight3a_test.scala")
+  if (scala_assert "knight2.scala" "knight_test6.scala")
   then
       echo "  --> success" | tee -a $out
       marks=$(( marks + 1 ))
@@ -93,7 +100,7 @@
 then
   echo " first_closed_tour_heuristic(6, List((3,3))) found and correct?" | tee -a $out
   
-  if (scala_assert "knight3.scala" "knight3b_test.scala")
+  if (scala_assert "knight2.scala" "knight_test7.scala")
   then
       echo "  --> success" | tee -a $out
       marks=$(( marks + 1 ))
@@ -109,7 +116,7 @@
   echo " first_tour_heuristic(8, List((0,0))) found and correct?" | tee -a $out
   echo " first_tour_heuristic(40, List((0,0))) found and correct?" | tee -a $out
   
-  if (scala_assert "knight3.scala" "knight3c_test.scala")
+  if (scala_assert "knight2.scala" "knight_test8.scala")
   then
       echo "  --> success" | tee -a $out
       marks=$(( marks + 1 ))
@@ -119,6 +126,53 @@
 fi
 
 
+
+# knights3: purity test
+#
+echo -e "knight3.scala does not contain vars, returns, Arrays, ListBuffers etc?" | tee -a $out
+
+
+if (scala_vars knight3.scala)
+then
+  echo "  --> test failed" | tee -a $out
+  tsts0=$(( 0 ))
+else
+  echo "  --> success" | tee -a $out
+  tsts0=$(( 0 )) 
+fi
+
+# compilation test
+if  [ $tsts0 -eq 0 ]
+then    
+  echo "knight3.scala runs?" | tee -a $out
+
+  if (scala_compile knight3.scala)
+  then
+    echo "  --> success" | tee -a $out
+    tsts1=$(( 0 ))
+  else
+    echo -e "  --> test failed" | tee -a $out  
+    tsts1=$(( 1 )) 
+  fi
+else
+  tsts1=$(( 1 ))     
+fi
+
+
+if [ $tsts1 -eq 0 ]
+then
+  echo -e " tour_on_mega_board(70, List((0,0))) found and correct?" | tee -a $out
+  
+  if (scala_assert_long "knight3.scala" "knight_test9.scala")
+  then
+      echo -e "  --> success" | tee -a $out
+      marks=$(( marks + 1 ))
+  else
+      echo -e "  --> test  failed" | tee -a $out 
+  fi
+fi
+
+
 ## final marks
-echo "Overall mark for CW 7, Part 2" | tee -a $out
+echo "Overall mark for CW 8, Part 2" | tee -a $out
 echo "$marks" | tee -a $out