equal
deleted
inserted
replaced
1 #!/bin/bash |
1 #!/bin/bash |
2 set -euo pipefail |
2 set -euo pipefail |
3 |
3 |
4 out=${1:-output} |
4 scalafile=${1:-drumb.scala} |
|
5 out=${2:-output} |
|
6 |
5 |
7 |
6 echo -e "" > $out |
8 echo -e "" > $out |
7 |
9 |
8 echo -e "Below is the feedback for your submission for drumb.scala" >> $out |
10 echo -e "Below is the feedback for your submission for drumb.scala" >> $out |
9 echo -e "" >> $out |
11 echo -e "" >> $out |
31 |
33 |
32 |
34 |
33 # compilation test |
35 # compilation test |
34 echo -e "drumb.scala runs?" >> $out |
36 echo -e "drumb.scala runs?" >> $out |
35 |
37 |
36 if (scala_compile drumb.scala) |
38 if (scala_compile $scalafile) |
37 then |
39 then |
38 echo -e " --> passed" >> $out |
40 echo -e " --> passed" >> $out |
39 tsts=$(( 0 )) |
41 tsts=$(( 0 )) |
40 else |
42 else |
41 echo -e " --> SCALA DID NOT RUN drumb.scala" >> $out |
43 echo -e " --> SCALA DID NOT RUN drumb.scala" >> $out |
49 |
51 |
50 if [ $tsts -eq 0 ] |
52 if [ $tsts -eq 0 ] |
51 then |
53 then |
52 echo -e "drumb.scala does not contain vars, returns etc?" >> $out |
54 echo -e "drumb.scala does not contain vars, returns etc?" >> $out |
53 |
55 |
54 if (scala_vars drumb.scala) |
56 if (scala_vars $scalafile) |
55 then |
57 then |
56 echo -e " --> FAIL (make triple-sure your program conforms to the required format)" >> $out |
58 echo -e " --> FAIL (make triple-sure your program conforms to the required format)" >> $out |
57 tsts=$(( 1 )) |
59 tsts=$(( 1 )) |
58 else |
60 else |
59 echo -e " --> passed" >> $out |
61 echo -e " --> passed" >> $out |
67 if [ $tsts -eq 0 ] |
69 if [ $tsts -eq 0 ] |
68 then |
70 then |
69 echo -e " get_january_data(\"GOOG\", 1980) == List()" >> $out |
71 echo -e " get_january_data(\"GOOG\", 1980) == List()" >> $out |
70 echo -e " get_january_data(\"GOOG\", 2010).head == \"2010-01-04,312.204773\"" >> $out |
72 echo -e " get_january_data(\"GOOG\", 2010).head == \"2010-01-04,312.204773\"" >> $out |
71 |
73 |
72 if (scala_assert "drumb.scala" "drumb_test1.scala") |
74 if (scala_assert $scalafile "drumb_test1.scala") |
73 then |
75 then |
74 echo -e " --> success" >> $out |
76 echo -e " --> success" >> $out |
75 else |
77 else |
76 echo -e " --> ONE OF THE TESTS FAILED\n" >> $out |
78 echo -e " --> ONE OF THE TESTS FAILED\n" >> $out |
77 fi |
79 fi |
82 if [ $tsts -eq 0 ] |
84 if [ $tsts -eq 0 ] |
83 then |
85 then |
84 echo -e " get_first_price(\"GOOG\", 1980) == None" >> $out |
86 echo -e " get_first_price(\"GOOG\", 1980) == None" >> $out |
85 echo -e " get_first_price(\"GOOG\", 2010) == Some(312.204773)" >> $out |
87 echo -e " get_first_price(\"GOOG\", 2010) == Some(312.204773)" >> $out |
86 |
88 |
87 if (scala_assert "drumb.scala" "drumb_test2.scala") |
89 if (scala_assert $scalafile "drumb_test2.scala") |
88 then |
90 then |
89 echo -e " --> success" >> $out |
91 echo -e " --> success" >> $out |
90 else |
92 else |
91 echo -e " --> ONE OF THE TESTS FAILED\n" >> $out |
93 echo -e " --> ONE OF THE TESTS FAILED\n" >> $out |
92 fi |
94 fi |
99 echo " get_prices(List(\"GOOG\", \"AAPL\"), 2010 to 2012) ==" >> $out |
101 echo " get_prices(List(\"GOOG\", \"AAPL\"), 2010 to 2012) ==" >> $out |
100 echo " List(List(Some(312.204773), Some(26.782711))," >> $out |
102 echo " List(List(Some(312.204773), Some(26.782711))," >> $out |
101 echo " List(Some(301.0466), Some(41.244694))," >> $out |
103 echo " List(Some(301.0466), Some(41.244694))," >> $out |
102 echo " List(Some(331.462585), Some(51.464207)))" >> $out |
104 echo " List(Some(331.462585), Some(51.464207)))" >> $out |
103 |
105 |
104 if (scala_assert "drumb.scala" "drumb_test3.scala") |
106 if (scala_assert $scalafile "drumb_test3.scala") |
105 then |
107 then |
106 echo -e " --> success" >> $out |
108 echo -e " --> success" >> $out |
107 else |
109 else |
108 echo -e " --> ONE OF THE TESTS FAILED\n" >> $out |
110 echo -e " --> ONE OF THE TESTS FAILED\n" >> $out |
109 fi |
111 fi |
116 echo -e " get_delta(None, None) == None" >> $out |
118 echo -e " get_delta(None, None) == None" >> $out |
117 echo -e " get_delta(Some(50.0), None) == None" >> $out |
119 echo -e " get_delta(Some(50.0), None) == None" >> $out |
118 echo -e " get_delta(None, Some(100.0)) == None" >> $out |
120 echo -e " get_delta(None, Some(100.0)) == None" >> $out |
119 echo -e " get_delta(Some(50.0), Some(100.0)) == Some(1.0)" >> $out |
121 echo -e " get_delta(Some(50.0), Some(100.0)) == Some(1.0)" >> $out |
120 |
122 |
121 if (scala_assert "drumb.scala" "drumb_test4.scala") |
123 if (scala_assert $scalafile "drumb_test4.scala") |
122 then |
124 then |
123 echo -e " --> success" >> $out |
125 echo -e " --> success" >> $out |
124 else |
126 else |
125 echo -e " --> ONE OF THE TESTS FAILED\n" >> $out |
127 echo -e " --> ONE OF THE TESTS FAILED\n" >> $out |
126 fi |
128 fi |
137 echo -e "" >> $out |
139 echo -e "" >> $out |
138 echo -e " get_deltas(get_prices(List(\"BIDU\"), 2004 to 2008)) == " >> $out |
140 echo -e " get_deltas(get_prices(List(\"BIDU\"), 2004 to 2008)) == " >> $out |
139 echo -e " List(List(None), List(None), " >> $out |
141 echo -e " List(List(None), List(None), " >> $out |
140 echo -e " List(Some(0.9277165354330709)), List(Some(2.119679764725104))) " >> $out |
142 echo -e " List(Some(0.9277165354330709)), List(Some(2.119679764725104))) " >> $out |
141 |
143 |
142 if (scala_assert "drumb.scala" "drumb_test5.scala") |
144 if (scala_assert $scalafile "drumb_test5.scala") |
143 then |
145 then |
144 echo -e " --> success" >> $out |
146 echo -e " --> success" >> $out |
145 else |
147 else |
146 echo -e " --> ONE OF THE TESTS FAILED\n" >> $out |
148 echo -e " --> ONE OF THE TESTS FAILED\n" >> $out |
147 fi |
149 fi |
154 then |
156 then |
155 echo -e " val ds = get_deltas(get_prices(List(\"GOOG\", \"AAPL\"), 2010 to 2012))" >> $out |
157 echo -e " val ds = get_deltas(get_prices(List(\"GOOG\", \"AAPL\"), 2010 to 2012))" >> $out |
156 echo -e " yearly_yield(ds, 100, 0) == 125" >> $out |
158 echo -e " yearly_yield(ds, 100, 0) == 125" >> $out |
157 echo -e " yearly_yield(ds, 100, 1) == 117" >> $out |
159 echo -e " yearly_yield(ds, 100, 1) == 117" >> $out |
158 |
160 |
159 if (scala_assert "drumb.scala" "drumb_test6.scala") |
161 if (scala_assert $scalafile "drumb_test6.scala") |
160 then |
162 then |
161 echo -e " --> success" >> $out |
163 echo -e " --> success" >> $out |
162 else |
164 else |
163 echo -e " --> ONE OF THE TESTS FAILED\n" >> $out |
165 echo -e " --> ONE OF THE TESTS FAILED\n" >> $out |
164 fi |
166 fi |
179 echo -e " investment(List(\"GOOG\", \"AAPL\", \"BIDU\"), 2000 to 2006, 100) == 254" >> $out |
181 echo -e " investment(List(\"GOOG\", \"AAPL\", \"BIDU\"), 2000 to 2006, 100) == 254" >> $out |
180 echo -e " investment(List(\"GOOG\", \"AAPL\", \"BIDU\"), 2000 to 2007, 100) == 349" >> $out |
182 echo -e " investment(List(\"GOOG\", \"AAPL\", \"BIDU\"), 2000 to 2007, 100) == 349" >> $out |
181 echo -e " investment(List(\"GOOG\", \"AAPL\", \"BIDU\"), 1990 to 2017, 100) == 11504" >> $out |
183 echo -e " investment(List(\"GOOG\", \"AAPL\", \"BIDU\"), 1990 to 2017, 100) == 11504" >> $out |
182 |
184 |
183 |
185 |
184 if (scala_assert "drumb.scala" "drumb_test7.scala") |
186 if (scala_assert $scalafile "drumb_test7.scala") |
185 then |
187 then |
186 echo -e " --> success" >> $out |
188 echo -e " --> success" >> $out |
187 else |
189 else |
188 echo -e " --> ONE OF THE TESTS FAILED\n" >> $out |
190 echo -e " --> ONE OF THE TESTS FAILED\n" >> $out |
189 fi |
191 fi |