### Assessment for Homework 02 - Second Grading Below are the automated scores for Homework 2. If you feel that our scripts are incorrectly assessing your work then please email ``csci2041@.umn.edu`` and explain the problem. If your code is right you will get credit for it - just maybe not right away. #### Total score: _71_ / _71_ Run on February 20, 23:29:40 PM. + Pass: Change into directory "Hwk_02". + Pass: Check that file "hwk_02.ml" exists. + _5_ / _5_ : Pass: Check that an OCaml file "hwk_02.ml" has no syntax or type errors. OCaml file "hwk_02.ml" has no syntax or type errors. + Pass: Make sure you are only using recursion in functions take, drop, read_chars + _1_ / _1_ : Pass: Check that the result of evaluating `length []` matches the pattern `0`. + _1_ / _1_ : Pass: Check that the result of evaluating `length [1;2;3;4;5;6]` matches the pattern `6`. + _2_ / _2_ : Pass: Check that the result of evaluating `rev []` matches the pattern `[ ]`. + _2_ / _2_ : Pass: Check that the result of evaluating `rev [1]` matches the pattern `[1]`. + _2_ / _2_ : Pass: Check that the result of evaluating `rev [1; 2; 3; 4]` matches the pattern `[4; 3; 2; 1]`. + _2_ / _2_ : Pass: Check that the result of evaluating `is_elem_by (fun x y -> (x+1) = y) 6 [2;3;5;7]` matches the pattern `true`. + _2_ / _2_ : Pass: Check that the result of evaluating `is_elem_by (fun x y -> (x+1) = y) 0 [2;3;5;7]` matches the pattern `false`. + _2_ / _2_ : Pass: Check that the result of evaluating `is_elem_by (fun x y -> x < y) 4 [2;3;5;7]` matches the pattern `true`. + _2_ / _2_ : Pass: Check that the result of evaluating `is_elem_by (fun x y -> x < y) 0 [2;3;5;7]` matches the pattern `false`. + _2_ / _2_ : Pass: Check that the result of evaluating `is_elem 3 []` matches the pattern `false`. + _2_ / _2_ : Pass: Check that the result of evaluating `is_elem 3 [1; 2; 3]` matches the pattern `true`. + _2_ / _2_ : Pass: Check that the result of evaluating `is_elem 4 [1; 2; 3]` matches the pattern `false`. + _2_ / _2_ : Pass: Check that the result of evaluating `List.sort (fun x y -> if x < y then -1 else 1) (dedup [1;1;4;5;2;3;2])` matches the pattern `[1; 2; 3; 4; 5]`. + _2_ / _2_ : Pass: Check that the result of evaluating ``` List.sort (fun x y -> if x < y then -1 else 1) (dedup [[13; 1]; [13; 1]; [1; 2]; [10; 5]]) ``` matches the pattern `[[1; 2]; [10; 5]; [13; 1]]`. + _2_ / _2_ : Pass: Check that the result of evaluating `dedup []` matches the pattern `[ ]`. + _2_ / _2_ : Pass: Check that the result of evaluating `List.sort (fun x y -> if x < y then -1 else 1) (dedup [4;5;2;3])` matches the pattern `[2; 3; 4; 5]`. + _2_ / _2_ : Pass: Check that the result of evaluating `split_by (=) ['a';'b';'c';'d'] ['c']` matches the pattern `[['a'; 'b']; ['d']]`. + _2_ / _2_ : Pass: Check that the result of evaluating `split_by (>) ['a';'b';'c';'d'] ['c']` matches the pattern `[[]; []; ['c'; 'd']]`. + _2_ / _2_ : Pass: Check that the result of evaluating `split_by (=) ['a';'b';'c';'d'] []` matches the pattern `[['a'; 'b'; 'c'; 'd']]`. + _2_ / _2_ : Pass: Check that the result of evaluating `split_by (=) [] ['x']` matches the pattern `[[ ]]`. + _2_ / _2_ : Pass: Check that the result of evaluating `split_by (=) [] []` matches the pattern `[[ ]]`. + _2_ / _2_ : Pass: Check that the result of evaluating ``` List.map (List.map (fun y -> List.map Char.lowercase y)) (convert_to_non_blank_lines_of_words ['W'; 'h'; 'e'; ','; 'a'; ' '; 'b']) ``` matches the pattern `[[['w'; 'h'; 'e']; ['a']; ['b']]]`. + _2_ / _2_ : Pass: Check that the result of evaluating ``` List.map (List.map (fun y -> List.map Char.lowercase y)) (convert_to_non_blank_lines_of_words ['W'; 'h'; 'e'; ','; 'a'; ' '; 'b']) ``` matches the pattern `[[['w'; 'h'; 'e']; ['a']]; [['b']]]`. + _2_ / _2_ : Pass: Check that the result of evaluating ``` List.map (List.map (fun y -> List.map Char.lowercase y)) (convert_to_non_blank_lines_of_words ['W'; 'h'; 'e'; ' '; ','; 'a'; '-'; 'b']) ``` matches the pattern `[[['w'; 'h'; 'e']; ['a']; ['b']]]`. + _2_ / _2_ : Pass: Check that the result of evaluating ``` paradelle "../../../../public-class-repo/Homework/Hwk_02/not_a_paradelle_emma_1.txt" ``` matches the pattern `IncorrectLastStanza`. + _2_ / _2_ : Pass: Check that the result of evaluating ``` paradelle "../../../../public-class-repo/Homework/Hwk_02/not_a_paradelle_empty_file.txt" ``` matches the pattern `IncorrectNumLines 0`. + _2_ / _2_ : Pass: Check that the result of evaluating ``` paradelle "../../../../public-class-repo/Homework/Hwk_02/not_a_paradelle_susan_1.txt" ``` matches the pattern `IncorrectLines [(1, 2); (11, 12); (17, 18)]`. + _2_ / _2_ : Pass: Check that the result of evaluating ``` paradelle "../../../../public-class-repo/Homework/Hwk_02/not_a_paradelle_susan_2.txt" ``` matches the pattern `IncorrectLines [(11, 12); (17, 18)]`. + _2_ / _2_ : Pass: Check that the result of evaluating ``` paradelle "../../../../public-class-repo/Homework/Hwk_02/not_a_paradelle_susan_3.txt" ``` matches the pattern `IncorrectLines [(1, 2); (11, 12); (17, 18)]`. + _2_ / _2_ : Pass: Check that the result of evaluating ``` paradelle "../../../../public-class-repo/Homework/Hwk_02/not_a_paradelle_wrong_line_count.txt" ``` matches the pattern `IncorrectNumLines 9`. + _2_ / _2_ : Pass: Check that the result of evaluating `paradelle "../../../../public-class-repo/Homework/Hwk_02/paradelle_emma_1.txt"` matches the pattern `OK`. + _2_ / _2_ : Pass: Check that the result of evaluating `paradelle "../../../../public-class-repo/Homework/Hwk_02/paradelle_susan_1.txt"` matches the pattern `OK`. + _2_ / _2_ : Pass: Check that the result of evaluating `paradelle "../../../../public-class-repo/Homework/Hwk_02/paradelle_susan_2.txt"` matches the pattern `OK`. + _2_ / _2_ : Pass: Check that the result of evaluating `paradelle "../../../../public-class-repo/Homework/Hwk_02/abc.txt"` matches the pattern `FileNotFound "../../../../public-class-repo/Homework/Hwk_02/abc.txt"`. #### Total score: _71_ / _71_