File: unifier_test.ml

package info (click to toggle)
liquidsoap 2.4.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 12,844 kB
  • sloc: ml: 74,136; javascript: 27,320; ansic: 505; sh: 139; xml: 114; lisp: 96; makefile: 26
file content (29 lines) | stat: -rw-r--r-- 768 bytes parent folder | download | duplicates (3)
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
let () =
  let x = Unifier.make 1 in
  let y = Unifier.make 2 in
  let z = Unifier.make 3 in
  Unifier.(x <-- y);
  assert (Unifier.deref x = 2);
  Unifier.set x 5;
  assert (Unifier.deref y = 5);
  Unifier.set y 4;
  assert (Unifier.deref x = 4);
  Unifier.(x <-- z);
  assert (Unifier.deref x = 3);
  assert (Unifier.deref y = 3);
  Unifier.set x 2;
  assert (Unifier.deref y = 2);
  assert (Unifier.deref z = 2);
  Unifier.set y 4;
  assert (Unifier.deref x = 4);
  assert (Unifier.deref z = 4);
  Unifier.set z 1;
  assert (Unifier.deref x = 1);
  assert (Unifier.deref y = 1);
  Unifier.(y <-- x);
  Unifier.set y 4;
  assert (Unifier.deref x = 4);
  assert (Unifier.deref z = 4);
  Unifier.set x 2;
  assert (Unifier.deref y = 2);
  assert (Unifier.deref z = 2)