--- a/README Sat Dec 03 13:49:11 2016 +0000
+++ b/README Thu Dec 08 12:50:54 2016 +0000
@@ -2,3 +2,8 @@
emacs --eval "(ediff-files \"k1502472/drumb.scala\" \"k1502752/drumb.scala\")"
+
+
+deleting comments from scala files
+
+find . -name '*.scala' -print0 | xargs -0 perl -n -p -0 -i.bak -e 's%/\*([^*].*?)?\*/%%gs;s%^([^\"\n\r]*(\"[^\"\n\r]*\"[^\"\n\r]*?)*?)//([^*\n\r].*)?$%$1%gm'
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/marking/knight1_test.scala Thu Dec 08 12:50:54 2016 +0000
@@ -0,0 +1,19 @@
+
+import scala.concurrent._
+import scala.concurrent.duration._
+import ExecutionContext.Implicits.global
+import scala.language.postfixOps
+
+lazy val f = Future {
+ assert(legal_moves(8, Nil, (2,2)) ==
+ List((3,4), (4,3), (4,1), (3,0), (1,0), (0,1), (0,3), (1,4)))
+ assert(legal_moves(8, Nil, (7,7)) == List((6,5), (5,6)))
+ assert(legal_moves(8, List((4,1), (1,0)), (2,2)) ==
+ List((3,4), (4,3), (3,0), (0,1), (0,3), (1,4)))
+ assert(legal_moves(8, List((6,6)), (7,7)) == List((6,5), (5,6)))
+ assert(legal_moves(1, Nil, (0,0)) == List())
+ assert(legal_moves(2, Nil, (0,0)) == List())
+ assert(legal_moves(3, Nil, (0,0)) == List((1,2), (2,1)))
+}
+
+Await.result(f, 120 second)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/marking/knight1b_test.scala Thu Dec 08 12:50:54 2016 +0000
@@ -0,0 +1,19 @@
+
+import scala.concurrent._
+import scala.concurrent.duration._
+import ExecutionContext.Implicits.global
+import scala.language.postfixOps
+
+lazy val f = Future {
+ assert(legal_moves(8, Nil, (2,2)) ==
+ List((3,4), (4,3), (4,1), (3,0), (1,0), (0,1), (0,3), (1,4)))
+ assert(legal_moves(8, Nil, (7,7)) == List((6,5), (5,6)))
+ assert(legal_moves(8, List((4,1), (1,0)), (2,2)) ==
+ List((3,4), (4,3), (3,0), (0,1), (0,3), (1,4)))
+ assert(legal_moves(8, List((6,6)), (7,7)) == List((6,5), (5,6)))
+ assert(legal_moves(1, Nil, (0,0)) == List())
+ assert(legal_moves(2, Nil, (0,0)) == List())
+ assert(legal_moves(3, Nil, (0,0)) == List((1,2), (2,1)))
+}
+
+Await.result(f, 120 second)
--- a/marking/mark02 Sat Dec 03 13:49:11 2016 +0000
+++ b/marking/mark02 Thu Dec 08 12:50:54 2016 +0000
@@ -19,7 +19,7 @@
# compilation tests
function scala_compile {
- (scala -nc "$1" 2> /dev/null 1> /dev/null)
+ (scala "$1" 2> /dev/null 1> /dev/null)
}
@@ -39,50 +39,54 @@
if (scala_vars knight1.scala)
then
echo " --> fail" | tee -a $out
- tsts0=$(( 0 ))
+ tsts0=$(( 1 ))
else
echo " --> success" | tee -a $out
- tsts0=$(( 1 ))
+ tsts0=$(( 0 ))
fi
# compilation test
-#if [ $tsts0 -eq 0 ]
-#then
-# echo "knight1.scala runs?" | tee -a $out
-#
-# if (scala_compile knight1.scala)
-# then
-# echo " --> success" | tee -a $out
-# tsts1=$(( 0 ))
-# else
-# echo " --> scala did not run knight1.scala" | tee -a $out
-# tsts1=$(( 1 ))
-# fi
-#fi
+if [ $tsts0 -eq 0 ]
+then
+ echo "knight1.scala runs?" | tee -a $out
+
+ if (scala_compile knight1.scala.bak)
+ then
+ echo " --> success" | tee -a $out
+ tsts1=$(( 0 ))
+ else
+ echo " --> scala did not run knight1.scala" | tee -a $out
+ tsts1=$(( 1 ))
+ fi
+fi
+
+### knight1a test
-### knight1 test
-
-#if [ $tsts1 -eq 0 ]
-#then
-# echo " get_prices(List(\"BIDU\"), 2004 to 2008) =" | tee -a $out
-# echo " List(List(None), List(None), List(Some(6.35))," | tee -a $out
-# echo " List(Some(12.241)), List(Some(38.188)))" | tee -a $out
-#
-# if (scala_assert "drumb.scala" "../drumb_test1.scala")
-# then
-# echo " --> success" | tee -a $out
-# marks=$(( marks + 1 ))
-# else
-# echo " --> test failed" | tee -a $out
-# fi
-#fi
+if [ $tsts1 -eq 0 ]
+then
+ echo " legal_moves(8, Nil, (2,2)) = (3,4), (4,3), (4,1), (3,0), (1,0), (0,1), (0,3), (1,4)" | tee -a $out
+ echo " legal_moves(8, Nil, (7,7)) = (6,5), (5,6)" | tee -a $out
+ echo " legal_moves(8, (4,1), (1,0), (2,2)) = (3,4), (4,3), (3,0), (0,1), (0,3), (1,4)" | tee -a $out
+ echo " legal_moves(8, (6,6), (7,7)) = (6,5), (5,6)" | tee -a $out
+ echo " legal_moves(1, Nil, (0,0)) = Nil" | tee -a $out
+ echo " legal_moves(2, Nil, (0,0)) = Nil" | tee -a $out
+ echo " legal_moves(3, Nil, (0,0)) = (1,2), (2,1)" | tee -a $out
+
+ if (scala_assert "knight1.scala" "../../../marking/knight1_test.scala")
+ then
+ echo " --> success" | tee -a $out
+ marks=$(( marks + 1 ))
+ else
+ echo " --> test failed" | tee -a $out
+ fi
+fi
### knight2 test
#if [ $tsts -eq 0 ]
#then
-# echo " get_deltas(get_prices(List(\"IBM\", \"BIDU\"), 2004 to 2008)) = " | tee -a $out
+# echo " legal_moves(8, Nil, (2,2) = (3,4), (4,3), (4,1), (3,0), (1,0), (0,1), (0,3), (1,4)" | tee -a $out
# echo " List(List(Some(0.07596697626574789), None), " | tee -a $out
# echo " List(Some(-0.152620823795232), None)," | tee -a $out
# echo " List(Some(0.20126676681483952), Some(0.9277165354330709))," | tee -a $out
--- a/progs/knight1_sol.scala Sat Dec 03 13:49:11 2016 +0000
+++ b/progs/knight1_sol.scala Thu Dec 08 12:50:54 2016 +0000
@@ -33,6 +33,10 @@
assert(legal_moves(8, List((4,1), (1,0)), (2,2)) ==
List((3,4), (4,3), (3,0), (0,1), (0,3), (1,4)))
assert(legal_moves(8, List((6,6)), (7,7)) == List((6,5), (5,6)))
+assert(legal_moves(1, Nil, (0,0)) == List())
+assert(legal_moves(2, Nil, (0,0)) == List())
+assert(legal_moves(3, Nil, (0,0)) == List((1,2), (2,1)))
+
def count_tours(dim: Int, path: Path): Int = {
if (path.length == dim * dim) 1