testing1/drumb_test.sh
changeset 304 4a9d1153ccc5
parent 284 9a04eb6a2291
child 314 21b52310bd8b
equal deleted inserted replaced
303:b4c597be7514 304:4a9d1153ccc5
     1 #!/bin/bash
     1 #!/bin/bash
     2 set -euo pipefail
     2 set -euo pipefail
     3 
     3 
     4 out=${1:-output}
     4 out=${1:-output}
     5 
     5 
     6 echo "" > $out
     6 echo -e "" > $out
     7 
     7 
     8 echo "Below is the feedback for your submission for drumb.scala" >> $out
     8 echo -e "Below is the feedback for your submission for drumb.scala" >> $out
     9 echo "" >> $out
     9 echo -e "" >> $out
    10 
    10 
    11 # compilation tests
    11 # compilation tests
    12 
    12 
    13 function scala_compile {
    13 function scala_compile {
    14   (ulimit -t 30; JAVA_OPTS="-Xmx1g" scala "$1" 2>> $out 1>> $out) 
    14   (ulimit -t 30; JAVA_OPTS="-Xmx1g" scala "$1" 2>> $out 1>> $out) 
    27 }
    27 }
    28 
    28 
    29 
    29 
    30 # var, .par return, ListBuffer test
    30 # var, .par return, ListBuffer test
    31 #
    31 #
    32 echo "drumb.scala does not contain vars, returns etc?" >> $out
    32 echo -e "drumb.scala does not contain vars, returns etc?" >> $out
    33 
    33 
    34 if (scala_vars drumb.scala)
    34 if (scala_vars drumb.scala)
    35 then
    35 then
    36   echo "  --> FAIL (make triple-sure your program conforms to the required format)" >> $out
    36   echo -e "  --> FAIL (make triple-sure your program conforms to the required format)" >> $out
    37   tsts0=$(( 0 ))
    37   tsts0=$(( 0 ))
    38 else
    38 else
    39   echo "  --> success" >> $out
    39   echo -e "  --> success" >> $out
    40   tsts0=$(( 0 )) 
    40   tsts0=$(( 0 )) 
    41 fi
    41 fi
    42 
    42 
    43 
    43 
    44 # compilation test
    44 # compilation test
    45 if  [ $tsts0 -eq 0 ]
    45 if  [ $tsts0 -eq 0 ]
    46 then 
    46 then 
    47   echo "drumb.scala runs?" >> $out
    47   echo -e "drumb.scala runs?" >> $out
    48 
    48 
    49   if (scala_compile drumb.scala)
    49   if (scala_compile drumb.scala)
    50   then
    50   then
    51     echo "  --> success" >> $out
    51     echo -e "  --> success" >> $out
    52     tsts=$(( 0 ))
    52     tsts=$(( 0 ))
    53   else
    53   else
    54     echo "  --> SCALA DID NOT RUN drumb.scala" >> $out
    54     echo -e "  --> SCALA DID NOT RUN drumb.scala" >> $out
    55     tsts=$(( 1 )) 
    55     tsts=$(( 1 )) 
    56   fi
    56   fi
    57 else
    57 else
    58   tsts=$(( 1 ))     
    58   tsts=$(( 1 ))     
    59 fi
    59 fi
    60 
    60 
    61 ### get january data
    61 ### get january data
    62 
    62 
    63 if [ $tsts -eq 0 ]
    63 if [ $tsts -eq 0 ]
    64 then
    64 then
    65   echo "  get_january_data(\"GOOG\", 1980) == List()" >> $out
    65   echo -e "  get_january_data(\"GOOG\", 1980) == List()" >> $out
    66   echo "  get_january_data(\"GOOG\", 2010).head == \"2010-01-04,312.204773\"" >> $out
    66   echo -e "  get_january_data(\"GOOG\", 2010).head == \"2010-01-04,312.204773\"" >> $out
    67 
    67 
    68   if (scala_assert "drumb.scala" "drumb_test1.scala")
    68   if (scala_assert "drumb.scala" "drumb_test1.scala")
    69   then
    69   then
    70     echo "  --> success" >> $out
    70     echo -e "  --> success" >> $out
    71   else
    71   else
    72     echo "  --> ONE OF THE TESTS FAILED\n" >> $out
    72     echo -e "  --> ONE OF THE TESTS FAILED\n" >> $out
    73   fi
    73   fi
    74 fi
    74 fi
    75 
    75 
    76 ### get first price
    76 ### get first price
    77 
    77 
    78 if [ $tsts -eq 0 ]
    78 if [ $tsts -eq 0 ]
    79 then
    79 then
    80   echo "  get_first_price(\"GOOG\", 1980) == None" >> $out
    80   echo -e "  get_first_price(\"GOOG\", 1980) == None" >> $out
    81   echo "  get_first_price(\"GOOG\", 2010) == Some(312.204773)" >> $out  
    81   echo -e "  get_first_price(\"GOOG\", 2010) == Some(312.204773)" >> $out  
    82 
    82 
    83   if (scala_assert "drumb.scala" "drumb_test2.scala")
    83   if (scala_assert "drumb.scala" "drumb_test2.scala")
    84   then
    84   then
    85     echo "  --> success" >> $out
    85     echo -e "  --> success" >> $out
    86   else
    86   else
    87     echo "  --> ONE OF THE TESTS FAILED\n" >> $out
    87     echo -e "  --> ONE OF THE TESTS FAILED\n" >> $out
    88   fi
    88   fi
    89 fi
    89 fi
    90 
    90 
    91 ### get prices tests
    91 ### get prices tests
    92 
    92 
    93 if [ $tsts -eq 0 ]
    93 if [ $tsts -eq 0 ]
    94 then
    94 then
    95   echo "  get_prices(List(\"GOOG\", \"AAPL\"), 2010 to 2012) ==" >> $out
    95   echo -e "  get_prices(List(\"GOOG\", \"AAPL\"), 2010 to 2012) ==" >> $out
    96   echo "       List(List(Some(311.349976), Some(20.544939))," >> $out 
    96   echo -e "       List(List(Some(311.349976), Some(20.544939))," >> $out 
    97   echo "            List(Some(300.222351), Some(31.638695))," >> $out 
    97   echo -e "            List(Some(300.222351), Some(31.638695))," >> $out 
    98   echo "            List(Some(330.555054), Some(39.478039)))" >> $out
    98   echo -e "            List(Some(330.555054), Some(39.478039)))" >> $out
    99 
    99 
   100   if (scala_assert "drumb.scala" "drumb_test3.scala")
   100   if (scala_assert "drumb.scala" "drumb_test3.scala")
   101   then
   101   then
   102     echo "  --> success" >> $out
   102     echo -e "  --> success" >> $out
   103   else
   103   else
   104     echo "  --> ONE OF THE TESTS FAILED\n" >> $out
   104     echo -e "  --> ONE OF THE TESTS FAILED\n" >> $out
   105   fi
   105   fi
   106 fi
   106 fi
   107 
   107 
   108 ### get_delta_test
   108 ### get_delta_test
   109 
   109 
   110 if [ $tsts -eq 0 ]
   110 if [ $tsts -eq 0 ]
   111 then
   111 then
   112   echo "  get_delta(None, None) == None" >> $out
   112   echo -e "  get_delta(None, None) == None" >> $out
   113   echo "  get_delta(Some(50.0), None) == None" >> $out
   113   echo -e "  get_delta(Some(50.0), None) == None" >> $out
   114   echo "  get_delta(None, Some(100.0)) == None" >> $out
   114   echo -e "  get_delta(None, Some(100.0)) == None" >> $out
   115   echo "  get_delta(Some(50.0), Some(100.0)) == Some(1.0)" >> $out
   115   echo -e "  get_delta(Some(50.0), Some(100.0)) == Some(1.0)" >> $out
   116 
   116 
   117   if (scala_assert "drumb.scala" "drumb_test4.scala")
   117   if (scala_assert "drumb.scala" "drumb_test4.scala")
   118   then
   118   then
   119       echo "  --> success" >> $out
   119       echo -e "  --> success" >> $out
   120   else
   120   else
   121       echo "  --> ONE OF THE TESTS FAILED\n" >> $out
   121       echo -e "  --> ONE OF THE TESTS FAILED\n" >> $out
   122   fi
   122   fi
   123 fi
   123 fi
   124 
   124 
   125 
   125 
   126 ### get_deltas_test
   126 ### get_deltas_test
   135   echo -e "    List(List(None), List(None),                          " >> $out
   135   echo -e "    List(List(None), List(None),                          " >> $out
   136   echo -e "         List(Some(0.9277165354330709)), List(Some(2.119679764725104))) " >> $out
   136   echo -e "         List(Some(0.9277165354330709)), List(Some(2.119679764725104))) " >> $out
   137   
   137   
   138   if (scala_assert "drumb.scala" "drumb_test5.scala") 
   138   if (scala_assert "drumb.scala" "drumb_test5.scala") 
   139   then
   139   then
   140      echo "  --> success" >> $out
   140      echo -e "  --> success" >> $out
   141   else
   141   else
   142      echo "  --> ONE OF THE TESTS FAILED\n" >> $out
   142      echo -e "  --> ONE OF THE TESTS FAILED\n" >> $out
   143   fi
   143   fi
   144 fi
   144 fi
   145 
   145 
   146 
   146 
   147 ### yield_tests
   147 ### yield_tests
   152   echo -e "  yearly_yield(get_deltas(ds, 100, 0)) == 125" >> $out
   152   echo -e "  yearly_yield(get_deltas(ds, 100, 0)) == 125" >> $out
   153   echo -e "  yearly_yield(get_deltas(ds, 100, 1)) == 117" >> $out
   153   echo -e "  yearly_yield(get_deltas(ds, 100, 1)) == 117" >> $out
   154   
   154   
   155   if (scala_assert "drumb.scala" "drumb_test6.scala") 
   155   if (scala_assert "drumb.scala" "drumb_test6.scala") 
   156   then
   156   then
   157       echo "  --> success" >> $out
   157       echo -e "  --> success" >> $out
   158   else
   158   else
   159       echo "  --> ONE OF THE TESTS FAILED\n" >> $out
   159       echo -e "  --> ONE OF THE TESTS FAILED\n" >> $out
   160   fi
   160   fi
   161 fi
   161 fi
   162 
   162 
   163 
   163 
   164 ### investment_test
   164 ### investment_test
   177   echo -e "   investment(List(\"GOOG\", \"AAPL\", \"BIDU\"), 1990 to 2017, 100) == 11504"   >> $out
   177   echo -e "   investment(List(\"GOOG\", \"AAPL\", \"BIDU\"), 1990 to 2017, 100) == 11504"   >> $out
   178   
   178   
   179   
   179   
   180   if (scala_assert "drumb.scala" "drumb_test7.scala") 
   180   if (scala_assert "drumb.scala" "drumb_test7.scala") 
   181   then
   181   then
   182     echo "  --> success" >> $out
   182     echo -e "  --> success" >> $out
   183   else
   183   else
   184     echo "  --> ONE OF THE TESTS FAILED\n" >> $out
   184     echo -e "  --> ONE OF THE TESTS FAILED\n" >> $out
   185   fi
   185   fi
   186 fi
   186 fi
   187 
   187