main_testing1/drumb_test.sh
changeset 420 4edc1a308652
parent 376 6cc36d0ef79e
child 459 d59404a41d5f
equal deleted inserted replaced
419:d8dbf91c149b 420:4edc1a308652
     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