src/HOL/Codegenerator_Test/Code_Test_OCaml.thy
author wenzelm
Fri, 12 Aug 2022 19:47:38 +0200
changeset 75827 4920ebbde486
parent 69597 ff784d5a5bfb
permissions -rw-r--r--
tuned, following hints by IntelliJ IDEA;

(*  Title:      HOL/Codegenerator_Test/Code_Test_OCaml.thy
    Author:     Andreas Lochbihler, ETH Zurich

Test case for test_code on OCaml
*)

theory Code_Test_OCaml imports  "HOL-Library.Code_Test" Code_Lazy_Test begin

test_code "14 + 7 * -12 = (140 div -2 :: integer)" in OCaml

value [OCaml] "14 + 7 * -12 :: integer"

test_code \<comment> \<open>Tests for the serialisation of \<^const>\<open>gcd\<close> on \<^typ>\<open>integer\<close>\<close>
  "gcd 15 10 = (5 :: integer)"
  "gcd 15 (- 10) = (5 :: integer)"
  "gcd (- 10) 15 = (5 :: integer)"
  "gcd (- 10) (- 15) = (5 :: integer)"
  "gcd 0 (- 10) = (10 :: integer)"
  "gcd (- 10) 0 = (10 :: integer)"
  "gcd 0 0 = (0 :: integer)"
in OCaml

test_code "stake 10 (cycle ''ab'') = ''ababababab''" in OCaml

end