43 } |
35 } |
44 |
36 |
45 |
37 |
46 # knights2: purity test |
38 # knights2: purity test |
47 # |
39 # |
48 echo -e "knight2.scala does not contain vars, returns, Arrays, ListBuffers etc?" | tee -a $out |
40 echo -e "knight2.scala does not contain vars, returns, Arrays, ListBuffers etc?" >> $out |
49 |
41 |
50 |
42 |
51 if (scala_vars knight2.scala) |
43 if (scala_vars knight2.scala) |
52 then |
44 then |
53 echo -e " --> test failed" | tee -a $out |
45 echo -e " --> fail (make triple-sure your program conforms to the required format)" >> $out |
54 tsts0=$(( 0 )) |
46 tsts0=$(( 0 )) |
55 else |
47 else |
56 echo -e " --> success" | tee -a $out |
48 echo -e " --> success" >> $out |
57 tsts0=$(( 0 )) |
49 tsts0=$(( 0 )) |
58 fi |
50 fi |
59 |
51 |
60 |
52 |
61 # compilation test |
53 # compilation test |
62 if [ $tsts0 -eq 0 ] |
54 if [ $tsts0 -eq 0 ] |
63 then |
55 then |
64 echo -e "knight2.scala runs?" | tee -a $out |
56 echo -e "knight2.scala runs?" >> $out |
65 |
57 |
66 if (scala_compile knight2.scala) |
58 if (scala_compile knight2.scala) |
67 then |
59 then |
68 echo -e " --> success" | tee -a $out |
60 echo -e " --> success" >> $out |
69 tsts1=$(( 0 )) |
61 tsts1=$(( 0 )) |
70 else |
62 else |
71 echo -e " --> SCALA DID NOT RUN KNIGHT2.SCALA\n" >> $out |
63 echo -e " --> SCALA DID NOT RUN KNIGHT2.SCALA\n" >> $out |
72 tsts1=$(( 1 )) |
64 tsts1=$(( 1 )) |
73 fi |
65 fi |
77 |
69 |
78 # ordered move test |
70 # ordered move test |
79 |
71 |
80 if [ $tsts1 -eq 0 ] |
72 if [ $tsts1 -eq 0 ] |
81 then |
73 then |
82 echo -e " ordered_moves(8, List((3,4), (3,2)), (1,3)) == List((0,1), (0,5), (2,1), (2,5))" | tee -a $out |
74 echo -e " ordered_moves(8, List((3,4), (3,2)), (1,3)) == List((0,1), (0,5), (2,1), (2,5))" >> $out |
83 echo -e " ordered_moves(8, List((4,0)), (0,0)) == List((2,1), (1,2))" | tee -a $out |
75 echo -e " ordered_moves(8, List((4,0)), (0,0)) == List((2,1), (1,2))" >> $out |
84 echo -e " ordered_moves(8, List((0,4)), (0,0)) == List((1,2), (2,1))" | tee -a $out |
76 echo -e " ordered_moves(8, List((0,4)), (0,0)) == List((1,2), (2,1))" >> $out |
85 |
77 |
86 if (scala_assert "knight2.scala" "knight_test6.scala") |
78 if (scala_assert "knight2.scala" "knight_test6.scala") |
87 then |
79 then |
88 echo -e " --> success" | tee -a $out |
80 echo -e " --> success" >> $out |
89 marks=$(( marks + 1 )) |
|
90 else |
81 else |
91 echo -e " --> \n ONE TEST FAILED\n" >> $out |
82 echo -e " --> \n ONE TEST FAILED\n" >> $out |
92 fi |
83 fi |
93 fi |
84 fi |
94 |
85 |
95 |
86 |
96 # first-closed-tour test |
87 # first-closed-tour test |
97 |
88 |
98 if [ $tsts1 -eq 0 ] |
89 if [ $tsts1 -eq 0 ] |
99 then |
90 then |
100 echo -e " first_closed_tour_heuristic(6, List((3,3))) found and correct?" | tee -a $out |
91 echo -e " first_closed_tour_heuristic(6, List((3,3))) found and correct?" >> $out |
101 |
92 |
102 if (scala_assert "knight2.scala" "knight_test7.scala") |
93 if (scala_assert "knight2.scala" "knight_test7.scala") |
103 then |
94 then |
104 echo -e " --> success" | tee -a $out |
95 echo -e " --> success" >> $out |
105 marks=$(( marks + 1 )) |
|
106 else |
96 else |
107 echo -e " --> \n ONE TEST FAILED\n" >> $out |
97 echo -e " --> \n ONE TEST FAILED\n" >> $out |
108 fi |
98 fi |
109 fi |
99 fi |
110 |
100 |
111 |
101 |
112 |
102 |
113 if [ $tsts1 -eq 0 ] |
103 if [ $tsts1 -eq 0 ] |
114 then |
104 then |
115 echo -e " first_tour_heuristic(8, List((0,0))) found and correct?" | tee -a $out |
105 echo -e " first_tour_heuristic(8, List((0,0))) found and correct?" >> $out |
116 echo -e " first_tour_heuristic(30, List((0,0))) found and correct?" | tee -a $out |
106 echo -e " first_tour_heuristic(30, List((0,0))) found and correct?" >> $out |
117 |
107 |
118 if (scala_assert "knight2.scala" "knight_test8.scala") |
108 if (scala_assert "knight2.scala" "knight_test8.scala") |
119 then |
109 then |
120 echo -e " --> success" | tee -a $out |
110 echo -e " --> success" >> $out |
121 marks=$(( marks + 1 )) |
|
122 else |
111 else |
123 echo -e " --> \n ONE TEST FAILED\n" >> $out |
112 echo -e " --> \n ONE TEST FAILED\n" >> $out |
124 fi |
113 fi |
125 fi |
114 fi |
126 |
115 |
127 |
116 |
128 # knights3: purity test |
117 # knights3: purity test |
129 # |
118 # |
130 echo -e "knight3.scala does not contain vars, returns, Arrays, ListBuffers etc?" | tee -a $out |
119 echo -e "knight3.scala does not contain vars, returns, Arrays, ListBuffers etc?" >> $out |
131 |
120 |
132 |
121 |
133 if (scala_vars knight3.scala) |
122 if (scala_vars knight3.scala) |
134 then |
123 then |
135 echo " --> test failed" | tee -a $out |
124 echo " --> test failed" >> $out |
136 tsts0=$(( 0 )) |
125 tsts0=$(( 0 )) |
137 else |
126 else |
138 echo " --> success" | tee -a $out |
127 echo " --> success" >> $out |
139 tsts0=$(( 0 )) |
128 tsts0=$(( 0 )) |
140 fi |
129 fi |
141 |
130 |
142 |
131 |
143 # compilation test |
132 # compilation test |
144 if [ $tsts0 -eq 0 ] |
133 if [ $tsts0 -eq 0 ] |
145 then |
134 then |
146 echo "knight3.scala runs?" | tee -a $out |
135 echo "knight3.scala runs?" >> $out |
147 |
136 |
148 if (scala_compile knight3.scala) |
137 if (scala_compile knight3.scala) |
149 then |
138 then |
150 echo " --> success" | tee -a $out |
139 echo " --> success" >> $out |
151 tsts1=$(( 0 )) |
140 tsts1=$(( 0 )) |
152 else |
141 else |
153 echo -e " --> SCALA DID NOT RUN KNIGHT3.SCALA\n" >> $out |
142 echo -e " --> SCALA DID NOT RUN KNIGHT3.SCALA\n" >> $out |
154 tsts1=$(( 1 )) |
143 tsts1=$(( 1 )) |
155 fi |
144 fi |