File: util_print_test.ml

package info (click to toggle)
ocaml-multicoretests 0.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,520 kB
  • sloc: ml: 8,909; awk: 66; ansic: 23; makefile: 11; sh: 1
file content (41 lines) | stat: -rw-r--r-- 1,322 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
type cmd = A | B | C

let show_cmd c = match c with
  | A -> "A"
  | B -> "B"
  | C -> "C"

let print_and_check_output s res =
  let ss = (String.split_on_char '\n' s) in
  List.iter (fun s -> Printf.printf "\"%s\"\n%!" s) ss;
  assert (List.equal String.equal res ss)

;;
let s1 = Util.print_triple_vertical ~fig_indent:1 show_cmd ([A],[A;B;C],[C]) in
let res1 = [
  "            |                   ";
  "            A                   ";
  "            |                   ";
  " .---------------------.";
  " |                     |                   ";
  " A                     C                   ";
  " B                                         ";
  " C                                         ";
  ""]
in
print_and_check_output s1 res1
(*assert (List.equal String.equal res1 ss1)*)
;;
let s2 = Util.print_triple_vertical ~fig_indent:1 ~center_prefix:false show_cmd ([A],[A;B;C],[C]) in
let res2 = [
  " |                                         ";
  " A                                         ";
  " |                                         ";
  " .---------------------.";
  " |                     |                   ";
  " A                     C                   ";
  " B                                         ";
  " C                                         ";
  ""]
in
print_and_check_output s2 res2