diff options
author | Sébastien Dailly <sebastien@chimrod.com> | 2017-10-22 15:03:18 +0200 |
---|---|---|
committer | Sébastien Dailly <sebastien@chimrod.com> | 2017-10-23 22:41:50 +0200 |
commit | 3cd6317dc21cfb5bda950ae3ba29daf48e71f006 (patch) | |
tree | fbb3a3d9029cc0c32fc539c99a987514d64582da /tests/sheet_test.ml | |
parent | d39d55610e792bd4f6f1c2d452f4f1142b27c489 (diff) |
Add functions for date and condition booleans
Diffstat (limited to 'tests/sheet_test.ml')
-rwxr-xr-x | tests/sheet_test.ml | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/tests/sheet_test.ml b/tests/sheet_test.ml index 1a1bef3..b289b14 100755 --- a/tests/sheet_test.ml +++ b/tests/sheet_test.ml @@ -80,6 +80,29 @@ let test_create_indirect_cycle ctx = begin result end +let test_check_BFS ctx = begin + + let s = Sheet.Raw.create + (* First set A1 to 3 *) + |> Sheet.Raw.add (1,1) @@ Expression.load @@ u"=3" + |> snd |> Sheet.Raw.add (1,2) @@ Expression.load @@ u"=A1" + |> snd |> Sheet.Raw.add (2,2) @@ Expression.load @@ u"=A1" + |> snd |> Sheet.Raw.add (5,5) @@ Expression.load @@ u"=B2" + (* A3 = A1 + A1 = 6 *) + |> snd |> Sheet.Raw.add (1,3) @@ Expression.load @@ u"=A2 + E5" + (* Then set A1 to 2 *) + |> snd |> Sheet.Raw.add (1,1) @@ Expression.load @@ u"=2" + |> snd in + let result = (Sheet.Raw.get_value (1, 3) s) in + (* A3 = A1 + A1 = 4 *) + let expected = Some (ScTypes.Result (ScTypes.Num (Num.num_of_int 4, None))) in + + assert_equal + ~msg:(_msg ~expected ~result) + expected + result +end + let test_delete ctx = begin let s = Sheet.Raw.create @@ -126,7 +149,7 @@ let test_update_succs2 ctx = begin |> snd |> Sheet.Raw.add (1,2) @@ Expression.load @@ u"=A1/0" |> snd |> Sheet.Raw.add (1,1) @@ Expression.load @@ u"=2" |> fst in - (* Only (1, 1) is updated ; (1, 2) does not change, neither (2, 2) *) + (* Only (1, 1) is updated ; (2, 2) does not change, neither (2, 2) *) let expected = Cell.Set.of_list [(1,1)] in assert_equal @@ -139,6 +162,7 @@ let tests = "sheet_test">::: [ "test_ref1" >:: test_create_ref_1; "test_cycle1" >:: test_create_direct_cycle; "test_cycle2" >:: test_create_indirect_cycle; + "test_BFS" >:: test_check_BFS; "test_delete" >:: test_delete; "test_update_succs1" >:: test_update_succs1; "test_update_succs2" >:: test_update_succs2; |