diff -r fd3f8581ce85 -r f8a781322499 marking/mark02 --- a/marking/mark02 Thu Dec 08 12:50:54 2016 +0000 +++ b/marking/mark02 Tue Dec 13 13:02:52 2016 +0000 @@ -6,7 +6,7 @@ echo "" > $out echo "Below is the feedback and provisional mark for your submission" >> $out -echo "for CW 7. Please note all marks are provisional until" >> $out +echo "for CW 7, Part 1. 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 @@ -33,38 +33,57 @@ # marks for CW2 marks=$(( 0 )) -# var, comments test -echo "knight1.scala contains any vars, returns etc?" | tee -a $out +# knights1: var, comments test + +echo "knight1.scala does not contain vars, returns etc?" | tee -a $out if (scala_vars knight1.scala) then echo " --> fail" | tee -a $out tsts0=$(( 1 )) else - echo " --> success" | tee -a $out + echo " --> yes" | tee -a $out tsts0=$(( 0 )) fi # compilation test -if [ $tsts0 -eq 0 ] + +if [ $tsts0 -eq 0 ] then echo "knight1.scala runs?" | tee -a $out if (scala_compile knight1.scala.bak) then - echo " --> success" | tee -a $out + echo " --> yes" | tee -a $out tsts1=$(( 0 )) else echo " --> scala did not run knight1.scala" | tee -a $out tsts1=$(( 1 )) fi +else + tsts1=$(( 1 )) fi ### knight1a test if [ $tsts1 -eq 0 ] then + echo " is_legal(8, Nil) (3,4) == true " | tee -a $out + echo " is_legal(8, (4,1) (1,0)) (4,1) == false " | tee -a $out + echo " is_legal(2, Nil) (0,0) == true" | tee -a $out + + if (scala_assert "knight1.scala.bak" "../../../marking/knight1c_test.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 @@ -73,7 +92,7 @@ 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") + if (scala_assert "knight1.scala.bak" "../../../marking/knight1_test.scala") then echo " --> success" | tee -a $out marks=$(( marks + 1 )) @@ -82,44 +101,126 @@ fi fi +### knight1b test + +if [ $tsts1 -eq 0 ] +then + echo " all_tours from every position on the board" | 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 + echo " 5: 304,0,56,0,304,0,56,0,56,0,56,0,64,0,56,0,56,0,56,0,304,0,56,0,304" | tee -a $out + echo " enum_tours(5, (0,2) ) = 56 and all correct?" | tee -a $out + + if (scala_assert "knight1.scala.bak" "../../../marking/knight1b_test.scala") + then + echo " --> success" | tee -a $out + marks=$(( marks + 2 )) + else + echo " --> test failed" | tee -a $out + fi +fi + + + +# knights2: var, comments test + +echo "knight2.scala does not contain vars, returns etc?" | tee -a $out + +if (scala_vars knight2.scala) +then + echo " --> fail" | tee -a $out + tsts0=$(( 1 )) +else + echo " --> yes" | tee -a $out + tsts0=$(( 0 )) +fi + + +# compilation test +if [ $tsts0 -eq 0 ] +then + echo "knight2.scala runs?" | tee -a $out + + if (scala_compile knight2.scala.bak) + then + echo " --> yes" | tee -a $out + tsts1=$(( 0 )) + else + echo " --> scala did not run knight2.scala" | tee -a $out + tsts1=$(( 1 )) + fi +else + tsts1=$(( 1 )) +fi + ### knight2 test -#if [ $tsts -eq 0 ] +if [ $tsts1 -eq 0 ] +then + echo " Let f = (x:(Int, Int)) => if (x._1 > 3) Some(List(x)) else None " | tee -a $out + echo " first((1,0),(2,0),(3,0),(4,0), f) == Some(List((4,0)))" | tee -a $out + echo " first((1,0),(2,0),(3,0), f) == None" | tee -a $out + + if (scala_assert "knight2.scala.bak" "../../../marking/knight2_test.scala") + then + echo " --> success" | tee -a $out + marks=$(( marks + 1 )) + else + echo " --> test failed" | tee -a $out + fi +fi + +### knight2b test + +if [ $tsts1 -eq 0 ] +then + echo " is first_tour(8, (0, 0)) ok? " | tee -a $out + echo " is first_tour(4, (0, 0)) == None " | tee -a $out + + if (scala_assert "knight2.scala.bak" "../../../marking/knight2b_test.scala") + then + echo " --> success" | tee -a $out + marks=$(( marks + 2 )) + else + echo " --> test failed" | tee -a $out + fi +fi + + +# knights3: var, comments test +# +#echo "knight3.scala does not contain vars, returns etc?" | tee -a $out + +#if (scala_vars knight3.scala) #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 " 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 -# echo " List(Some(0.09141762603007778), Some(2.119679764725104)))" | tee -a $out -# -# if (scala_assert "drumb.scala" "../drumb_test2.scala") -# then -# echo " --> success" | tee -a $out -# marks=$(( marks + 1 )) -# else -# echo " --> test failed" | tee -a $out -# fi +# echo " --> fail" | tee -a $out +# tsts0=$(( 1 )) +#else +# echo " --> success" | tee -a $out +# tsts0=$(( 0 )) #fi -### knight3 test -#if [ $tsts -eq 0 ] -#then -# echo " yearly_yield(IBM + BIDU, 04 - 08, 100, 0) - 107).abs <= 2 " | tee -a $out -# echo " yearly_yield(IBM + BIDU, 04 - 08, 100, 1) - 85).abs <= 2 " | tee -a $out -# echo " yearly_yield(IBM + BIDU, 04 - 08, 100, 2) - 156).abs <= 2 " | tee -a $out -# echo " yearly_yield(IBM + BIDU, 04 - 08, 100, 3) - 210).abs <= 2 " | tee -a $out -# echo " investment(List(\"IBM\", \"BIDU\"), 2004 to 2008, 100) - 298).abs <= 10" | tee -a $out -# -# if (scala_assert "drumb.scala" "../drumb_test3.scala") +# compilation test +#if [ $tsts0 -eq 0 ] +#then +# echo "knight3.scala runs?" | tee -a $out +# +# if (scala_compile knight3.scala.bak) # then # echo " --> success" | tee -a $out -# marks=$(( marks + 1 )) +# tsts1=$(( 0 )) # else -# echo " --> test failed" | tee -a $out +# echo " --> scala did not run knight3.scala" | tee -a $out +# tsts1=$(( 1 )) # fi +#else +# tsts1=$(( 1 )) #fi + ## final marks -echo "Overall mark for CW 2" | tee -a $out +echo "Overall mark for CW 2, Part 1 " | tee -a $out echo "$marks" | tee -a $out