csci2041/repo-zhan4854/Lab_06_Assessment.md
Michael Zhang 399845160c
f
2018-01-29 17:35:31 -06:00

11 KiB

Assessment for Lab 06

Total score: 73 / 73

Run on March 18, 23:43:55 PM.

  • Pass: Change into directory "Lab_06".

  • Pass: Check that file "lab_06.ml" exists.

  • 2 / 2 : Pass: Check that an OCaml file "lab_06.ml" has no syntax or type errors.

    OCaml file "lab_06.ml" has no syntax or type errors.

  • 3 / 3 : Pass: Check that an OCaml file "lab_06.ml" has warnings.

    OCaml file "lab_06.ml" has no warnings.

  • 1 / 1 : Pass: Check that the result of evaluating t_size (Fork ("Hello", Leaf "World", Leaf "!")) matches the pattern 3.

  • 1 / 1 : Pass: Check that the result of evaluating t_size (Fork (7, Fork (5, Leaf 1, Leaf 2), Fork (6, Leaf 3, Leaf 4))) matches the pattern 7.

  • 1 / 1 : Pass: Check that the result of evaluating t_size (Leaf 5) matches the pattern 1.

  • 1 / 1 : Pass: Check that the result of evaluating t_sum (Fork (0, Leaf (- 1), Fork(1, Leaf 2, (Leaf (- 2))))) matches the pattern 0.

  • 1 / 1 : Pass: Check that the result of evaluating t_sum (Fork (7, Fork (5, Leaf 1, Leaf 2), Fork (6, Leaf 3, Leaf 4))) matches the pattern 28.

  • 1 / 1 : Pass: Check that the result of evaluating t_sum (Leaf 5) matches the pattern 5.

  • 1 / 1 : Pass: Check that the result of evaluating t_charcount (Fork ("a", Fork ("b", Leaf "c", Leaf "d"), Leaf "e")) matches the pattern 5.

  • 1 / 1 : Pass: Check that the result of evaluating t_charcount (Leaf "a") matches the pattern 1.

  • 1 / 1 : Pass: Check that the result of evaluating t_concat (Fork ("Hello", Leaf "World", Leaf "!")) matches the pattern "HelloWorld!".

  • 1 / 1 : Pass: Check that the result of evaluating t_concat (Leaf "Hello!") matches the pattern "Hello!".

  • 1 / 1 : Pass: Check that the result of evaluating t_opt_size (Fork (Some 1, Leaf (Some 2), Fork (Some 3, Leaf None, Leaf None))) matches the pattern 3.

  • 1 / 1 : Pass: Check that the result of evaluating

t_opt_size (Fork (Some "a", Leaf (Some "b"), Fork (Some "c", Leaf None, Leaf (Some "d"))))

matches the pattern `4`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `t_opt_size (Leaf None)` matches the pattern `0`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `t_opt_size (Fork (None, (Leaf None), (Leaf None)))` matches the pattern `0`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `t_opt_sum (Fork (Some 1, Leaf (Some 2), Fork (Some 3, Leaf None, Leaf None)))` matches the pattern `6`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `t_opt_sum (Fork (None, (Leaf None), (Leaf None)))` matches the pattern `0`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `t_opt_sum (Leaf None)` matches the pattern `0`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `t_opt_charcount (Leaf None)` matches the pattern `0`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `t_opt_charcount (Leaf (Some "abcd"))` matches the pattern `4`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

t_opt_charcount (Fork (Some "a", Leaf (Some "b"), Fork (Some "c", Leaf None, Leaf (Some "d"))))

matches the pattern `4`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `t_opt_concat (Leaf None)` matches the pattern `""`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `t_opt_concat (Leaf (Some "abcd"))` matches the pattern `"abcd"`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

t_opt_concat (Fork (Some "a", Leaf (Some "b"), Fork (Some "c", Leaf None, Leaf (Some "d"))))

matches the pattern `"abcd"`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_size (Fork ("Hello", Leaf "World", Leaf "!"))` matches the pattern `3`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_size (Fork (7, Fork (5, Leaf 1, Leaf 2), Fork (6, Leaf 3, Leaf 4)))` matches the pattern `7`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_size (Leaf 5)` matches the pattern `1`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_sum (Fork (0, Leaf (- 1), Fork(1, Leaf 2, (Leaf (- 2)))))` matches the pattern `0`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_sum (Fork (7, Fork (5, Leaf 1, Leaf 2), Fork (6, Leaf 3, Leaf 4)))` matches the pattern `28`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_sum (Leaf 5)` matches the pattern `5`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_char_count (Fork ("a", Fork ("b", Leaf "c", Leaf "d"), Leaf "e"))` matches the pattern `5`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_char_count (Leaf "a")` matches the pattern `1`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_concat (Fork ("Hello", Leaf "World", Leaf "!"))` matches the pattern `"HelloWorld!"`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_concat (Leaf "Hello!")` matches the pattern `"Hello!"`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_opt_size (Fork (Some 1, Leaf (Some 2), Fork (Some 3, Leaf None, Leaf None)))` matches the pattern `3`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

tf_opt_size (Fork (Some "a", Leaf (Some "b"), Fork (Some "c", Leaf None, Leaf (Some "d"))))

matches the pattern `4`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_opt_size (Leaf None)` matches the pattern `0`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_opt_size (Fork (None, (Leaf None), (Leaf None)))` matches the pattern `0`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_opt_sum (Fork (Some 1, Leaf (Some 2), Fork (Some 3, Leaf None, Leaf None)))` matches the pattern `6`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_opt_sum (Fork (None, (Leaf None), (Leaf None)))` matches the pattern `0`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_opt_sum (Leaf None)` matches the pattern `0`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_opt_char_count (Leaf None)` matches the pattern `0`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_opt_char_count (Leaf (Some "abcd"))` matches the pattern `4`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

tf_opt_char_count (Fork (Some "a", Leaf (Some "b"), Fork (Some "c", Leaf None, Leaf (Some "d"))))

matches the pattern `4`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_opt_concat (Leaf None)` matches the pattern `""`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `tf_opt_concat (Leaf (Some "abcd"))` matches the pattern `"abcd"`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

tf_opt_concat (Fork (Some "a", Leaf (Some "b"), Fork (Some "c", Leaf None, Leaf (Some "d"))))

matches the pattern `"abcd"`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `bt_insert_by Pervasives.compare 3 Empty` matches the pattern `Node (Empty, 3, Empty)`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

bt_insert_by Pervasives.compare 2 (bt_insert_by Pervasives.compare 4 (bt_insert_by Pervasives.compare 3 Empty))

matches the pattern `Node (Node (Empty, 2, Empty), 3, Node (Empty, 4, Empty))`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

bt_insert_by Pervasives.compare 3 (Node (Node (Empty, 3, Empty), 4, Node (Empty, 5, Empty)))

matches the pattern `Node (Node (Node (Empty, 3, Empty), 3, Empty), 4, Node (Empty, 5, Empty))`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

bt_insert_by Pervasives.compare 6 (Node (Node (Empty, 3, Empty), 4, Node (Empty, 5, Empty)))

matches the pattern `Node (Node (Empty, 3, Empty), 4, Node (Empty, 5, Node (Empty, 6, Empty)))`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `bt_elem_by (=) 5 Empty` matches the pattern `false`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

bt_elem_by (=) 6 (Node (Node (Empty, 3, Empty), 4, Node (Empty, 5, Node (Empty, 6, Empty))));

matches the pattern `true`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `bt_elem_by (=) 5 Empty` matches the pattern `false`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

bt_elem_by (<) 6 (Node (Node (Empty, 3, Empty), 4, Node (Empty, 5, Node (Empty, 6, Empty))))

matches the pattern `true`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

bt_elem_by (>) 6 (Node (Node (Empty, 3, Empty), 4, Node (Empty, 5, Node (Empty, 6, Empty))))

matches the pattern `false`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `bt_to_list Empty` matches the pattern `[ ]`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `bt_to_list (Node (Empty, 3, Empty))` matches the pattern `[3]`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

bt_to_list (Node (Node (Empty, 3, Empty), 4, Node (Empty, 5, Node (Empty, 6, Empty))))

matches the pattern `[3; 4; 5; 6]`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

bt_to_list (Node (Node (Empty, "a", Empty), "b", Node (Empty, "c", Node (Empty, "d", Empty))))

matches the pattern `["a"; "b"; "c"; "d"]`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `btf_to_list Empty` matches the pattern `[ ]`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `btf_to_list (Node (Empty, 3, Empty))` matches the pattern `[3]`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

btf_to_list (Node (Node (Empty, 3, Empty), 4, Node (Empty, 5, Node (Empty, 6, Empty))))

matches the pattern `[3; 4; 5; 6]`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

btf_to_list (Node (Node (Empty, "a", Empty), "b", Node (Empty, "c", Node (Empty, "d", Empty))))

matches the pattern `["a"; "b"; "c"; "d"]`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `btf_elem_by (=) 5 Empty` matches the pattern `false`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

btf_elem_by (=) 6 (Node (Node (Empty, 3, Empty), 4, Node (Empty, 5, Node (Empty, 6, Empty))));

matches the pattern `true`.





+  _1_ / _1_ : Pass: Check that the result of evaluating `btf_elem_by (=) 5 Empty` matches the pattern `false`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

btf_elem_by (<) 6 (Node (Node (Empty, 3, Empty), 4, Node (Empty, 5, Node (Empty, 6, Empty))))

matches the pattern `true`.





+  _1_ / _1_ : Pass: Check that the result of evaluating 

btf_elem_by (>) 6 (Node (Node (Empty, 3, Empty), 4, Node (Empty, 5, Node (Empty, 6, Empty))))

matches the pattern `false`.





#### Total score: _73_ / _73_