testing2/docdiff_test.sh
changeset 283 ef5f62bf5987
parent 261 8997430d9765
equal deleted inserted replaced
282:ec9773fe1dc0 283:ef5f62bf5987
    13 
    13 
    14 
    14 
    15 # compilation tests
    15 # compilation tests
    16 
    16 
    17 function scala_compile {
    17 function scala_compile {
    18   (ulimit -t 30; JAVA_OPTS="-Xmx1g" scala -nc "$1" 2>> $out 1>> $out) 
    18   (ulimit -t 30; JAVA_OPTS="-Xmx1g" scala "$1" 2>> $out 1>> $out) 
    19 }
    19 }
    20 
    20 
    21 # functional tests
    21 # functional tests
    22 
    22 
    23 function scala_assert {
    23 function scala_assert {
    24   (ulimit -t 30; JAVA_OPTS="-Xmx1g" scala -nc -i "$1" "$2" -e "" 2> /dev/null 1> /dev/null)
    24   (ulimit -t 30; JAVA_OPTS="-Xmx1g" scala -i "$1" -- "$2" 2> /dev/null 1> /dev/null)
    25 }
    25 }
    26 
    26 
    27 # purity test
    27 # purity test
    28 
    28 
    29 function scala_vars {
    29 function scala_vars {
    35 #
    35 #
    36 echo "docdiff.scala does not contain vars, returns etc?" >> $out
    36 echo "docdiff.scala does not contain vars, returns etc?" >> $out
    37 
    37 
    38 if (scala_vars docdiff.scala)
    38 if (scala_vars docdiff.scala)
    39 then
    39 then
    40   echo "  --> fail (make triple-sure your program conforms to the required format)" >> $out
    40   echo -e "  --> FAIL (make triple-sure your program conforms to the required format)" >> $out
    41   tsts0=$(( 0 ))
    41   tsts0=$(( 0 ))
    42 else
    42 else
    43   echo "  --> success" >> $out
    43   echo -e "  --> success" >> $out
    44   tsts0=$(( 0 )) 
    44   tsts0=$(( 0 )) 
    45 fi
    45 fi
    46 
    46 
    47 ### compilation test
    47 ### compilation test
    48 
    48 
    51 then 
    51 then 
    52   echo "docdiff.scala runs?" >> $out
    52   echo "docdiff.scala runs?" >> $out
    53 
    53 
    54   if (scala_compile docdiff.scala)
    54   if (scala_compile docdiff.scala)
    55   then
    55   then
    56     echo "  --> success" >> $out
    56     echo -e "  --> success" >> $out
    57     tsts=$(( 0 ))
    57     tsts=$(( 0 ))
    58   else
    58   else
    59     echo "  --> scala did not run docdiff.scala" >> $out
    59     echo -e "  --> SCALA DID NOT RUN docdiff.scala" >> $out
    60     tsts=$(( 1 )) 
    60     tsts=$(( 1 )) 
    61   fi
    61   fi
    62 else
    62 else
    63   tsts=$(( 1 ))     
    63   tsts=$(( 1 ))     
    64 fi
    64 fi
    65 
    65 
    66 ### docdiff clean tests
    66 ### docdiff clean tests
    67 
    67 
    68 if [ $tsts -eq 0 ]
    68 if [ $tsts -eq 0 ]
    69 then
    69 then
    70   echo "docdiff.scala tests:" >> $out
    70   echo -e "docdiff.scala tests:" >> $out
    71   echo "  clean(\"ab a abc\") == List(\"ab\", \"a\", \"abc\")" >> $out
    71   echo -e "  clean(\"ab a abc\") == List(\"ab\", \"a\", \"abc\")" >> $out
    72   echo "  clean(\"ab*a abc1\") == List(\"ab\", \"a\", \"abc1\")" >> $out
    72   echo -e "  clean(\"ab*a abc1\") == List(\"ab\", \"a\", \"abc1\")" >> $out
    73 
    73 
    74   if (scala_assert "docdiff.scala" "docdiff_test1.scala")
    74   if (scala_assert "docdiff.scala" "docdiff_test1.scala")
    75   then
    75   then
    76     echo "  --> success" >> $out
    76     echo -e "  --> success\n" >> $out
    77   else
    77   else
    78     echo "  --> one of the tests failed" >> $out
    78     echo -e "  --> ONE OF THE TESTS FAILED\n" >> $out
    79   fi
    79   fi
    80 fi
    80 fi
    81 
    81 
    82 ### docdiff occurrences tests
    82 ### docdiff occurrences tests
    83 
    83 
    84 if [ $tsts -eq 0 ]
    84 if [ $tsts -eq 0 ]
    85 then
    85 then
    86   echo "  occurrences(List(\"a\", \"b\", \"b\", \"c\", \"d\")) == " >> $out
    86   echo -e "  occurrences(List(\"a\", \"b\", \"b\", \"c\", \"d\")) == " >> $out
    87   echo "      Map(\"a\" -> 1, \"b\" -> 2, \"c\" -> 1, \"d\" -> 1)" >> $out
    87   echo -e "      Map(\"a\" -> 1, \"b\" -> 2, \"c\" -> 1, \"d\" -> 1)" >> $out
    88   echo "  " >> $out
    88   echo -e "  " >> $out
    89   echo "  occurrences(List(\"d\", \"b\", \"d\", \"b\", \"d\")) == " >> $out
    89   echo -e "  occurrences(List(\"d\", \"b\", \"d\", \"b\", \"d\")) == " >> $out
    90   echo "      Map(\"d\" -> 3, \"b\" -> 2)" >> $out
    90   echo -e "      Map(\"d\" -> 3, \"b\" -> 2)" >> $out
    91 
    91 
    92   if (scala_assert "docdiff.scala" "docdiff_test2.scala") 
    92   if (scala_assert "docdiff.scala" "docdiff_test2.scala") 
    93   then
    93   then
    94     echo "  --> success" >> $out
    94     echo -e "  --> success\n" >> $out
    95   else
    95   else
    96     echo "  --> one of the tests failed" >> $out
    96     echo -e "  --> ONE OF THE TESTS FAILED\n" >> $out
    97   fi
    97   fi
    98 fi
    98 fi
    99 
    99 
   100 ### docdiff prod tests
   100 ### docdiff prod tests
   101 
   101 
   102 if [ $tsts -eq 0 ]
   102 if [ $tsts -eq 0 ]
   103 then
   103 then
   104   echo "  val l1 = List(\"a\", \"b\", \"b\", \"c\", \"d\")" >> $out
   104   echo -e "  val l1 = List(\"a\", \"b\", \"b\", \"c\", \"d\")" >> $out
   105   echo "  val l2 = List(\"d\", \"b\", \"d\", \"b\", \"d\")" >> $out
   105   echo -e "  val l2 = List(\"d\", \"b\", \"d\", \"b\", \"d\")" >> $out
   106   echo "  " >> $out
   106   echo -e "  " >> $out
   107   echo "  prod(l1, l2) == 7 " >> $out
   107   echo -e "  prod(l1, l2) == 7 " >> $out
   108   echo "  prod(l1, l1) == 7 " >> $out
   108   echo -e "  prod(l1, l1) == 7 " >> $out
   109   echo "  prod(l2, l2) == 13 " >> $out
   109   echo -e "  prod(l2, l2) == 13 " >> $out
   110 
   110 
   111   if (scala_assert "docdiff.scala" "docdiff_test3.scala") 
   111   if (scala_assert "docdiff.scala" "docdiff_test3.scala") 
   112   then
   112   then
   113     echo "  --> success" >> $out
   113     echo -e "  --> success\n" >> $out
   114   else
   114   else
   115     echo "  --> one of the tests failed" >> $out
   115     echo -e "  --> ONE OF THE TESTS FAILED\n" >> $out
   116   fi
   116   fi
   117 fi
   117 fi
   118 
   118 
   119 ### docdiff overlap tests
   119 ### docdiff overlap tests
   120 
   120 
   121 if [ $tsts -eq 0 ]
   121 if [ $tsts -eq 0 ]
   122 then
   122 then
   123   echo "  val l1 = List(\"a\", \"b\", \"b\", \"c\", \"d\")" >> $out
   123   echo -e "  val l1 = List(\"a\", \"b\", \"b\", \"c\", \"d\")" >> $out
   124   echo "  val l2 = List(\"d\", \"b\", \"d\", \"b\", \"d\")" >> $out
   124   echo -e "  val l2 = List(\"d\", \"b\", \"d\", \"b\", \"d\")" >> $out
   125   echo "  " >> $out
   125   echo -e "  " >> $out
   126   echo "  overlap(l1, l2) == 0.5384615384615384 " >> $out
   126   echo -e "  overlap(l1, l2) == 0.5384615384615384 " >> $out
   127   echo "  overlap(l1, l1) == 1.0 " >> $out
   127   echo -e "  overlap(l1, l1) == 1.0 " >> $out
   128   echo "  overlap(l2, l2) == 1.0 " >> $out
   128   echo -e "  overlap(l2, l2) == 1.0 " >> $out
   129 
   129 
   130   if (scala_assert "docdiff.scala" "docdiff_test4.scala") 
   130   if (scala_assert "docdiff.scala" "docdiff_test4.scala") 
   131   then
   131   then
   132     echo "  --> success" >> $out
   132     echo -e "  --> success\n" >> $out
   133   else
   133   else
   134     echo "  --> one of the tests failed" >> $out
   134     echo -e "  --> ONE OF THE TESTS FAILED\n" >> $out
   135   fi
   135   fi
   136 fi
   136 fi