Sha256: 035f9c47976e847e27d9b564143cbf9df9243d984d0a1c0022a35b87cb2fe8b3
Contents?: true
Size: 1.03 KB
Versions: 2
Compression:
Stored size: 1.03 KB
Contents
open Core.Std open Model type fixup_parameter_function = key: string -> value: parameter -> string type edit_parameters_function = (string * string) list -> (string * string) list let parameters_to_string pp: string = List.map ~f:(fun (k,v) -> "(" ^ k ^ "," ^ v ^ ")") pp |> String.concat ~sep:";" let replace_key (key: string) (value: string) (target: string): string = String.substr_replace_all target ~pattern:("$" ^ key) ~with_:value let rec replace_keys (f: fixup_parameter_function) (ed: edit_parameters_function) (s: string) (c: case): string = let s = replace_key "description" c.description s in let expected = f ~key:"expected" ~value:c.expected in let s = replace_key "expected" expected s in let parameter_strings = ed @@ List.map ~f:(fun (k,p) -> (k,parameter_to_string p)) c.parameters in List.fold parameter_strings ~init:s ~f:(fun s (k,v) -> replace_key k v s) let generate_code (f: fixup_parameter_function) (ed: edit_parameters_function) template cases = Ok (List.map cases ~f:(replace_keys f ed template))
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
trackler-2.0.1.0 | tracks/ocaml/tools/test-generator/src/codegen.ml |
trackler-2.0.0.10 | tracks/ocaml/tools/test-generator/src/codegen.ml |