|
@@ -26,6 +26,7 @@ let _test_instruction : string -> Qsp_syntax.Report.t list -> unit =
|
|
Check._test_instruction
|
|
Check._test_instruction
|
|
|
|
|
|
let type_mismatch () = _test_instruction {|abc = 'ABC'|} (message Error)
|
|
let type_mismatch () = _test_instruction {|abc = 'ABC'|} (message Error)
|
|
|
|
+let assign_int_str () = _test_instruction {|$abc = 123|} []
|
|
let type_mismatch2 () = _test_instruction {|abc[''] = $Var|} (message Warn)
|
|
let type_mismatch2 () = _test_instruction {|abc[''] = $Var|} (message Warn)
|
|
|
|
|
|
let type_conversion () =
|
|
let type_conversion () =
|
|
@@ -75,7 +76,8 @@ let wrong_predicate () =
|
|
let test =
|
|
let test =
|
|
( "Typechecking",
|
|
( "Typechecking",
|
|
[
|
|
[
|
|
- Alcotest.test_case "Assign" `Quick type_mismatch;
|
|
|
|
|
|
+ Alcotest.test_case "Assign str to int" `Quick type_mismatch;
|
|
|
|
+ Alcotest.test_case "Assign int to str" `Quick assign_int_str;
|
|
Alcotest.test_case "Assign array" `Quick type_mismatch2;
|
|
Alcotest.test_case "Assign array" `Quick type_mismatch2;
|
|
Alcotest.test_case "Conversion" `Quick type_conversion;
|
|
Alcotest.test_case "Conversion" `Quick type_conversion;
|
|
Alcotest.test_case "Conversion'" `Quick type_conversion';
|
|
Alcotest.test_case "Conversion'" `Quick type_conversion';
|