Skip to content

Commit 6999068

Browse files
Dmitrii.Kosarev a.k.a. KakaduKakadu
authored andcommitted
Promote tests for issue #173
Signed-off-by: Dmitrii.Kosarev a.k.a. Kakadu <Dmitrii.Kosarev@pm.me>
1 parent f44348a commit 6999068

File tree

7 files changed

+89
-21
lines changed

7 files changed

+89
-21
lines changed

regression/test002.t

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
$ ./test002sort.exe
2-
[O; O; _.140]
3-
[O; O; _.140 [=/= O]]
4-
[O; O; _.157 [=/= O]]
2+
[O; O; _.138]
3+
[O; O; _.136 [=/= O]]
4+
[O; O; _.153 [=/= O]]
55
[O; S (O); S (_.497)]
66
[O; S (O); S (_.516 [=/= O])]
77
[O; S (O); S (_.110)]

regression/test005.t

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
q=[("x", V ("y")) | _.13];
2020
}
2121
fun q -> infero (abs varX (v varX)) q, 1 answer {
22-
q=Arr (_.21, _.21);
22+
q=Arr (_.18, _.18);
2323
}
2424
fun q -> infero (abs varF (abs varX (app (v varF) (v varX)))) q, 1 answer {
25-
q=Arr (Arr (_.54, _.26), Arr (_.54, _.26));
25+
q=Arr (Arr (_.30, _.26), Arr (_.30, _.26));
2626
}
2727
fun q -> infero (abs varX (abs varF (app (v varF) (v varX)))) q, 1 answer {
28-
q=Arr (_.64, Arr (Arr (_.64, _.26), _.26));
28+
q=Arr (_.30, Arr (Arr (_.30, _.26), _.26));
2929
}
3030
fun q -> infero q (arr (p varX) (p varX)), 1 answer {
31-
q=Abs (_.30, V (_.30));
31+
q=Abs (_.29, V (_.29));
3232
}

regression/test006.t

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@
2424
q=V ("x");
2525
}
2626
fun q -> evalo (app q (v varX)) (v varX), 1 answer {
27-
q=Abs (_.59, V (_.59));
27+
q=Abs (_.44, V (_.44));
2828
}
2929
fun q r -> evalo (app r q) (v varX), 1 answer {
30-
q=V ("x"); r=Abs (_.68, V (_.68));
30+
q=V ("x"); r=Abs (_.54, V (_.54));
3131
}
3232
fun q r s -> a_la_quine q r s, 2 answers {
3333
q=Abs (_.668, V (_.668)); r=Abs (_.668, V (_.668)); s=Abs (_.668, V (_.668));

regression/test011.t

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@
174174
fun q ->
175175
OCanren.Fresh.two
176176
(fun x y -> delay (fun () -> conj (!![x; y] === q) (y =/= x))), all answers {
177-
q=[_.11 [=/= _.12]; _.12];
177+
q=[_.11; _.12 [=/= _.11]];
178178
}
179179
fun q ->
180180
OCanren.Fresh.two
@@ -247,7 +247,7 @@
247247
fun x ->
248248
OCanren.Fresh.two
249249
(fun y z -> delay (fun () -> conj (x =/= !![y; !2]) (x === !![z; !2]))), all answers {
250-
q=[_.12; 2];
250+
q=[_.12 [=/= _.11]; 2];
251251
}
252252
fun q -> distincto (!2 % (!3 %< q)), all answers {
253253
q=_.35 [=/= 2; =/= 3];

regression/test014.t

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,18 @@
2828
q=[_.13 | _.14]; r=[]; s=[];
2929
q=[1]; r=[_.15 | _.16]; s=[_.15 | _.16];
3030
q=[_.17; _.18 | _.19]; r=[1]; s=[_.17; _.18 | _.19];
31-
q=[0; 1]; r=[_.43; _.33 | _.34]; s=[0; _.43; _.33 | _.34];
32-
q=[0; 0; 1]; r=[_.97; _.76 | _.77]; s=[0; 0; _.97; _.76 | _.77];
31+
q=[0; 1]; r=[_.28; _.33 | _.34]; s=[0; _.28; _.33 | _.34];
32+
q=[0; 0; 1]; r=[_.69; _.76 | _.77]; s=[0; 0; _.69; _.76 | _.77];
3333
q=[1; _.102 | _.103]; r=[0; 1]; s=[0; 1; _.102 | _.103];
34-
q=[0; 0; 0; 1]; r=[_.207; _.164 | _.165]; s=[0; 0; 0; _.207; _.164 | _.165];
34+
q=[0; 0; 0; 1]; r=[_.149; _.164 | _.165]; s=[0; 0; 0; _.149; _.164 | _.165];
3535
q=[1; _.192 | _.193]; r=[0; 0; 1]; s=[0; 0; 1; _.192 | _.193];
3636
q=[0; 1; _.218 | _.219]; r=[0; 1]; s=[0; 0; 1; _.218 | _.219];
37-
q=[0; 0; 0; 0; 1]; r=[_.437; _.343 | _.344]; s=[0; 0; 0; 0; _.437; _.343 | _.344];
37+
q=[0; 0; 0; 0; 1]; r=[_.314; _.343 | _.344]; s=[0; 0; 0; 0; _.314; _.343 | _.344];
3838
q=[1; _.375 | _.376]; r=[0; 0; 0; 1]; s=[0; 0; 0; 1; _.375 | _.376];
3939
q=[0; 1; _.401 | _.402]; r=[0; 0; 1]; s=[0; 0; 0; 1; _.401 | _.402];
4040
q=[0; 0; 1; _.459 | _.460]; r=[0; 1]; s=[0; 0; 0; 1; _.459 | _.460];
4141
q=[1; 1]; r=[1; 1]; s=[1; 0; 0; 1];
42-
q=[0; 0; 0; 0; 0; 1]; r=[_.904; _.713 | _.714]; s=[0; 0; 0; 0; 0; _.904; _.713 | _.714];
42+
q=[0; 0; 0; 0; 0; 1]; r=[_.656; _.713 | _.714]; s=[0; 0; 0; 0; 0; _.656; _.713 | _.714];
4343
q=[1; _.745 | _.746]; r=[0; 0; 0; 0; 1]; s=[0; 0; 0; 0; 1; _.745 | _.746];
4444
q=[0; 1; _.778 | _.779]; r=[0; 0; 0; 1]; s=[0; 0; 0; 0; 1; _.778 | _.779];
4545
q=[0; 0; 1; _.834 | _.835]; r=[0; 0; 1]; s=[0; 0; 0; 0; 1; _.834 | _.835];
@@ -48,7 +48,7 @@
4848
q=[0; 1; 1]; r=[1; 1]; s=[0; 1; 0; 0; 1];
4949
q=[1; 1]; r=[1; 1; 1]; s=[1; 0; 1; 0; 1];
5050
q=[1; 1]; r=[0; 1; 1]; s=[0; 1; 0; 0; 1];
51-
q=[0; 0; 0; 0; 0; 0; 1]; r=[_.1860; _.1493 | _.1494]; s=[0; 0; 0; 0; 0; 0; _.1860; _.1493 | _.1494];
51+
q=[0; 0; 0; 0; 0; 0; 1]; r=[_.1360; _.1493 | _.1494]; s=[0; 0; 0; 0; 0; 0; _.1360; _.1493 | _.1494];
5252
q=[1; _.1523 | _.1524]; r=[0; 0; 0; 0; 0; 1]; s=[0; 0; 0; 0; 0; 1; _.1523 | _.1524];
5353
q=[0; 1; _.1553 | _.1554]; r=[0; 0; 0; 0; 1]; s=[0; 0; 0; 0; 0; 1; _.1553 | _.1554];
5454
q=[0; 0; 1; _.1607 | _.1608]; r=[0; 0; 0; 1]; s=[0; 0; 0; 0; 0; 1; _.1607 | _.1608];
@@ -64,11 +64,11 @@
6464
q=[1]; r=[0; 1];
6565
q=[0; 1]; r=[0; 0; 1];
6666
q=[1; 1]; r=[0; 1; 1];
67-
q=[1; _.653; 1]; r=[0; 1; _.653; 1];
67+
q=[1; _.225; 1]; r=[0; 1; _.225; 1];
6868
q=[0; 0; 1]; r=[0; 0; 0; 1];
6969
q=[0; 1; 1]; r=[0; 0; 1; 1];
70-
q=[1; _.1001; _.408; 1]; r=[0; 1; _.1001; _.408; 1];
71-
q=[0; 1; _.1243; 1]; r=[0; 0; 1; _.1243; 1];
70+
q=[1; _.247; _.408; 1]; r=[0; 1; _.247; _.408; 1];
71+
q=[0; 1; _.408; 1]; r=[0; 0; 1; _.408; 1];
7272
q=[0; 0; 0; 1]; r=[0; 0; 0; 0; 1];
7373
}
7474
fun q r -> lelo q r, 15 answers {

regression_ppx/test015.t

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
11
$ ./test015diseq.exe
22
rel, 1 answer {
3+
hd1 = _.12
4+
hd2 = _.14
5+
tl2 = _.15
6+
10: { 0: [| 10 =/= _.11 |] }
7+
8+
11: { 0: [| 11 =/= boxed 0 <_.12, _.13> |] }
9+
10+
15: { 0: [| 14 =/= _.12, 15 =/= _.13 |] }
11+
12+
hd2 === 1
13+
15: { 0: [| 14 =/= _.12, 15 =/= _.13 |] }
14+
15+
tl2 === []
16+
13: { 0: [| 12 =/= int<1>, 13 =/= int<0> |] }
17+
18+
47
19+
13: { 0: [| 12 =/= int<1>, 13 =/= int<0> |] }
20+
21+
}
22+
fun _ ->
23+
fresh x
24+
((Std.list Fun.id [!< x; !< x]) =/=
25+
(Std.list Fun.id [!< (!! 1); !< (!! 2)])), 1 answer {
26+
q=_.10;
27+
}
28+
fun q ->
29+
fresh (x y) (trace_index "x" x) (trace_index "y" y) ((x % y) === q)
30+
((x % y) =/= (Std.list Fun.id [!! 1; x]))
31+
(y === (Std.list Fun.id [!! 2])) success, 1 answer {
32+
x = _.11
33+
y = _.12
34+
q=[_.11; 2];
335
}

regression_ppx/test015diseq.ml

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,17 @@ let rel list1 =
3232
(trace_index "hd2" hd2)
3333
(trace_index "tl2" tl2)
3434
(list1 =/= list2)
35+
trace_diseq
3536
(list1 === hd1 % tl1)
37+
trace_diseq
3638
(list2 === hd2 % tl2)
3739
trace_diseq
3840
(trace " hd2 === 1")
3941
(hd2 === !!1)
4042
trace_diseq
41-
(trace " tl2 === []") (* bad behaviour starts now *)
43+
(trace " tl2 === []")
4244
(tl2 === nil ())
45+
trace_diseq
4346
(hd1 === !!1)
4447
(debug_line __LINE__)
4548
trace_diseq
@@ -49,3 +52,36 @@ let rel list1 =
4952

5053
(* let () = [%tester run_r [%show GT.int GT.list] (Std.List.reify reify) 1 (fun q -> rel q)] *)
5154
let () = run_r (Std.List.reify reify) ([%show: GT.int logic Std.List.logic] ()) 1 q qh (REPR rel)
55+
56+
let () =
57+
let open Std in
58+
run_r
59+
(Std.List.reify reify)
60+
([%show: GT.int logic Std.List.logic] ())
61+
1
62+
q
63+
qh
64+
(REPR (fun _ -> fresh x (Std.list Fun.id [ !<x; !<x ] =/= Std.list Fun.id [ !<(!!1); !<(!!2) ])))
65+
;;
66+
67+
let () =
68+
let open OCanren.Std in
69+
run_r
70+
(Std.List.reify reify)
71+
([%show: GT.int logic Std.List.logic] ())
72+
1
73+
q
74+
qh
75+
(REPR
76+
(fun q ->
77+
fresh
78+
(x y)
79+
(trace_index "x" x)
80+
(trace_index "y" y)
81+
(x % y === q)
82+
(x % y =/= Std.list Fun.id [ !!1; x ])
83+
(* trace_diseq *)
84+
(y === Std.list Fun.id [ !!2 ])
85+
(* trace_diseq *)
86+
success))
87+
;;

0 commit comments

Comments
 (0)