diff options
Diffstat (limited to 'tests/sheet_test.ml')
-rwxr-xr-x | tests/sheet_test.ml | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/tests/sheet_test.ml b/tests/sheet_test.ml index de42730..1a1bef3 100755 --- a/tests/sheet_test.ml +++ b/tests/sheet_test.ml @@ -1,11 +1,20 @@ open OUnit2 +module Option = Tools.Option + let u = UTF8.from_utf8string -let _msg ~expected ~result = +let _msg ~expected ~result = begin + + let get_string v = match v with + | None -> "Undefined" + | Some x -> UTF8.raw_encode @@ ScTypes.Result.show x + in + Printf.sprintf "Expected %s but got %s" - (UTF8.encode @@ ScTypes.Result.show expected) - (UTF8.encode @@ ScTypes.Result.show result) + (get_string expected) + (get_string result) +end (** Test a simple references between two cells *) let test_create_ref_1 ctx = begin @@ -15,7 +24,7 @@ let test_create_ref_1 ctx = begin |> snd |> Sheet.Raw.add (0,0) @@ Expression.load @@ u"=C3" |> snd in let result = (Sheet.Raw.get_value (0, 0) s) in - let expected = (ScTypes.Result (ScTypes.Num (Num.num_of_int (-1), None))) in + let expected = Some (ScTypes.Result (ScTypes.Num (Num.num_of_int (-1), None))) in assert_equal ~msg:(_msg ~expected ~result) @@ -33,7 +42,7 @@ let test_create_ref_2 ctx = begin let result = (Sheet.Raw.get_value (2, 2) s) in - let expected = ScTypes.Result (ScTypes.Num (Num.num_of_int 123, None)) in + let expected = Some (ScTypes.Result (ScTypes.Num (Num.num_of_int 123, None))) in assert_equal ~msg:(_msg ~expected ~result) @@ -47,7 +56,7 @@ let test_create_direct_cycle ctx = begin |> Sheet.Raw.add (2,2) @@ Expression.load @@ u"=B2" |> snd in let result = (Sheet.Raw.get_value (2, 2) s) in - let expected = ScTypes.Error Errors.TypeError in + let expected = Some (ScTypes.Error Errors.TypeError) in assert_equal ~msg:(_msg ~expected ~result) @@ -63,7 +72,7 @@ let test_create_indirect_cycle ctx = begin |> snd |> Sheet.Raw.add (0,0) @@ Expression.load @@ u"=A1" |> snd in let result = (Sheet.Raw.get_value (0, 0) s) in - let expected = ScTypes.Error Errors.TypeError in + let expected = Some (ScTypes.Error Errors.TypeError) in assert_equal ~msg:(_msg ~expected ~result) @@ -80,7 +89,7 @@ let test_delete ctx = begin |> snd |> Sheet.Raw.remove (3,3) |> snd in let result = (Sheet.Raw.get_value (3, 3) s) in - let expected = ScTypes.Result ScTypes.Undefined in + let expected = None in assert_equal ~msg:(_msg ~expected ~result) @@ -101,8 +110,8 @@ let test_update_succs1 ctx = begin let expected = Cell.Set.of_list [(1,1); (1, 2); (2,2)] in let msg = Printf.sprintf "Expected %s but got %s" - (UTF8.encode @@ Tools.String.print_buffer Cell.Set.printb expected) - (UTF8.encode @@ Tools.String.print_buffer Cell.Set.printb result) in + (UTF8.raw_encode @@ Tools.String.print_buffer Cell.Set.printb expected) + (UTF8.raw_encode @@ Tools.String.print_buffer Cell.Set.printb result) in assert_equal ~msg expected |