main_marking4/knight_test.sh
changeset 463 0315d9983cd0
parent 424 daf561a83ba6
--- a/main_marking4/knight_test.sh	Sun Jan 15 10:58:13 2023 +0000
+++ b/main_marking4/knight_test.sh	Sat Mar 11 22:01:53 2023 +0000
@@ -41,19 +41,19 @@
 }
 
 function scala_assert_thirty {
-  (ulimit -t 40; JAVA_OPTS="-Xmx1g" scala -i "$1" -- "$2" -e "" 2> /dev/null 1> /dev/null)  
+  (ulimit -t 40; JAVA_OPTS="-Xmx1g" scala -nc -i "$1" -- "$2" -e "" 2> /dev/null 1> /dev/null)  
 }
 
 function scala_assert_quick {
-  (ulimit -t 30; JAVA_OPTS="-Xmx1g" scala -i "$1" -- "$2" -e "" 2> /dev/null 1> /dev/null)    
+  (ulimit -t 30; JAVA_OPTS="-Xmx1g" scala -nc -i "$1" -- "$2" -e "" 2> /dev/null 1> /dev/null)    
 }
 
 function scala_assert_long {
-  (ulimit -t 60; JAVA_OPTS="-Xmx1g" scala -i "$1" -- "$2" -e "" 2> /dev/null 1> /dev/null)    
+  (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 -i "$1" -- "$2" -e "" 2> /dev/null 1> /dev/null) 
+  (ulimit -t 90; JAVA_OPTS="-Xmx1g" scala -nc -i "$1" -- "$2" -e "" 2> /dev/null 1> /dev/null) 
 }
 
 # purity test
@@ -107,7 +107,7 @@
 
     if (scala_assert "knight1.scala" "knight1_test1.scala")
     then
-        echo -e "  --> success" | tee -a $out
+        echo -e "  --> success (+ 1 Mark)\n" | tee -a $out
 	marks=$(( marks + 1.0 ))
     else
         echo -e "  --> \n ONE TEST FAILED\n"| tee -a $out
@@ -129,7 +129,7 @@
   
   if (scala_assert "knight1.scala" "knight1_test2.scala")
   then
-     echo -e "  --> success\n" | tee -a $out
+     echo -e "  --> success (+ 1 Mark)\n" | tee -a $out
      marks=$(( marks + 1 ))
   else
      echo -e "  --> ONE TEST FAILED\n" | tee -a $out
@@ -141,19 +141,19 @@
 
 if [ $tsts -eq 0 ]
 then
-  echo " count_tours from every position on the board 1 - 4 (0.5% marks)" | tee -a $out
+  echo " count_tours from every position on the board 1 - 4" | tee -a $out
   echo " dim = 1: 1" | tee -a $out
   echo "       2: 0,0,0,0" | tee -a $out
   echo "       3: 0,0,0,0,0,0,0,0,0" | tee -a $out
   echo "       4: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0" | tee -a $out
   START=$(date +%s)
   
-  if (scala_assert_thirty "knight1.scala" "knight1_test3a.scala") 
+  if (scala_assert "knight1.scala" "knight1_test3a.scala") 
   then
      END=$(date +%s)
      DIFF=$(( $END - $START ))
      #echo " This test ran for $DIFF seconds." | tee -a $out  
-     echo -e "  --> success\n" | tee -a $out
+     echo -e "  --> success (+ 0.5 Marks)\n" | tee -a $out
      marks=$(( marks + 0.5 ))
   else
      END=$(date +%s)
@@ -167,16 +167,16 @@
 
 if [ $tsts -eq 0 ]
 then
-  echo " count_tours from every position on the board of dim 5 for the first 3 rows (0.25% marks)" | tee -a $out
+  echo " count_tours from every position on the board of dim 5 for the first 3 rows" | tee -a $out
   echo " dim = 5: 304,0,56,0,304,0,56,0,56,0,56,0,64,0,56)" | tee -a $out
   START=$(date +%s)
   
-  if (scala_assert_thirty "knight1.scala" "knight1_test3b.scala") 
+  if (scala_assert "knight1.scala" "knight1_test3b.scala") 
   then
      END=$(date +%s)
      DIFF=$(( $END - $START ))
      #echo " This test ran for $DIFF seconds." | tee -a $out  
-     echo -e "  --> success\n" | tee -a $out
+     echo -e "  --> success (+ 0.25 Marks)\\n" | tee -a $out
      marks=$(( marks + 0.25 ))
   else
      END=$(date +%s)
@@ -192,7 +192,7 @@
 then
   echo " enum_tours(5, List((0,2)) ) => 56 tours? and all correct?" | tee -a $out
   echo " enum_tours(5, List((0,0)) ) => 304 tours? and all correct?" | tee -a $out
-  echo " (0.25% marks) " | tee -a $out
+  #echo " (0.25% marks) " | tee -a $out
   START=$(date +%s)
   
   if (scala_assert_thirty "knight1.scala" "knight1_test3c.scala") 
@@ -200,7 +200,7 @@
      END=$(date +%s)
      DIFF=$(( $END - $START ))
      #echo " This test ran for $DIFF seconds." | tee -a $out 
-     echo -e "  --> success\n" | tee -a $out
+     echo -e "  --> success (+ 0.25 Marks)\n" | tee -a $out
      marks=$(( marks + 0.25 ))
   else
      END=$(date +%s)
@@ -221,7 +221,7 @@
   
   if (scala_assert "knight1.scala" "knight1_test4.scala") 
   then
-      echo -e "  --> success" | tee -a $out
+      echo -e "  --> success (+ 1 Mark)\n" | tee -a $out
       marks=$(( marks + 1.0 ))
   else
       echo -e "  --> ONE OF THE TESTS FAILED\n" | tee -a $out
@@ -240,8 +240,8 @@
   then
       END=$(date +%s)
       DIFF=$(( $END - $START ))
-      echo -e "  This test ran for $DIFF seconds" | tee -a $out  
-      echo -e "  --> success" | tee -a $out
+      #echo -e "  This test ran for $DIFF seconds" | tee -a $out  
+      echo -e "  --> success (+ 1 Mark)\n" | tee -a $out
       marks=$(( marks + 1.0 ))
   else
       END=$(date +%s)
@@ -300,7 +300,7 @@
   
   if (scala_assert "knight2.scala" "knight2_test6.scala")
   then
-      echo -e "  --> success" | tee -a $out
+      echo -e "  --> success (+ 1 Mark)\n" | tee -a $out
       marks=$(( marks + 1.0 ))
   else
       echo -e "  --> ONE OF THE TESTS FAILED\n" | tee -a $out
@@ -319,8 +319,8 @@
   then
       END=$(date +%s)
       DIFF=$(( $END - $START ))
-      echo -e "  This test ran for $DIFF seconds" | tee -a $out 
-      echo -e "  --> success" | tee -a $out
+      #echo -e "  This test ran for $DIFF seconds" | tee -a $out 
+      echo -e "  --> success (+ 1 Mark)\n" | tee -a $out
       marks=$(( marks + 1.0 ))
   else
       END=$(date +%s)
@@ -343,8 +343,8 @@
   then
       END=$(date +%s)
       DIFF=$(( $END - $START ))
-      echo "  This test ran for $DIFF seconds" | tee -a $out
-      echo -e "  --> success" | tee -a $out
+      #echo "  This test ran for $DIFF seconds" | tee -a $out
+      echo -e "  --> success (+ 1 Mark)\n" | tee -a $out
       marks=$(( marks + 1.0 ))
   else
       END=$(date +%s)
@@ -399,8 +399,8 @@
   then
       END=$(date +%s)
       DIFF=$(( $END - $START ))
-      echo -e "  This test ran for $DIFF seconds." | tee -a $out
-      echo -e "  --> success" | tee -a $out
+      #echo -e "  This test ran for $DIFF seconds." | tee -a $out
+      echo -e "  --> success (+ 1 Mark)\n" | tee -a $out
       marks=$(( marks + 1.0 ))
   else
       END=$(date +%s)
@@ -411,6 +411,62 @@
 fi
 
 
+echo -e "" >> $out
+echo -e  "Below is the feedback for your submission knight4.scala" >> $out
+echo -e  "" >> $out
+
+# compilation test
+echo "knight4.scala runs?" | tee -a $out
+
+if (scala_compile knight4.scala)
+then
+    echo "  --> success" | tee -a $out
+    tsts=$(( 0 ))
+else
+    echo -e "  --> SCALA DID NOT RUN knight3.scala\n" | tee -a $out  
+    tsts=$(( 1 )) 
+fi
+
+
+# knights3: purity test
+#
+if [ $tsts -eq 0 ]
+then 
+    echo -e "knight4.scala does not contain VARS, RETURNS etc?" | tee -a $out
+
+    if (scala_vars knight4.scala)
+    then
+	echo "  --> TEST FAILED\n" | tee -a $out
+	tsts=$(( 1 ))
+    else
+	echo "  --> success" | tee -a $out
+	tsts=$(( 0 )) 
+    fi
+else
+    tsts=$(( 1 ))  
+fi
+
+if [ $tsts -eq 0 ]
+then
+  echo -e " one_tour_pred(8, List((0, 0)), 40, x => x._1 < 5) is ok?" | tee -a $out
+  START=$(date +%s)
+
+  if (scala_assert "knight4.scala" "knight4_test10.scala")
+  then
+      END=$(date +%s)
+      DIFF=$(( $END - $START ))
+      #echo -e "  This test ran for $DIFF seconds." | tee -a $out
+      echo -e "  --> success (+ 2 Marks)\n" | tee -a $out
+      marks=$(( marks + 2.0 ))
+  else
+      END=$(date +%s)
+      DIFF=$(( $END - $START ))
+      echo -e "  This test ran for $DIFF seconds." | tee -a $out
+      echo -e "  --> \n ONE TEST FAILED\n" | tee -a $out
+  fi
+fi
+
+
 ## final marks
 echo -e "" >> $out
 echo -e "Overall mark for Main Part 4 (Scala)" | tee -a $out