copy attribute list in get_atts
This commit is contained in:
24
src/tests.rs
24
src/tests.rs
@@ -2147,33 +2147,33 @@ fn test_queries_on_attributed_variables()
|
||||
|
||||
assert_prolog_success!(&mut wam, "?- ( put_atts(V, my_mod, dif(1)) ; put_atts(V, my_mod, dif(2)) ),
|
||||
get_atts(V, my_mod, L).",
|
||||
[["L = [dif(1) | _16]", "V = _12"],
|
||||
["L = [dif(2) | _16]", "V = _12"]]);
|
||||
[["L = [dif(1)]", "V = _12"],
|
||||
["L = [dif(2)]", "V = _12"]]);
|
||||
|
||||
assert_prolog_success!(&mut wam, "?- put_atts(V, my_mod, frozen(a)),
|
||||
( put_atts(V, my_mod, dif(1))
|
||||
; put_atts(V, my_mod, -frozen(a)), put_atts(V, my_mod, dif(2))
|
||||
; put_atts(V, my_mod, dif(different)) ),
|
||||
get_atts(V, my_mod, Ls).",
|
||||
[["Ls = [frozen(a), dif(1) | _36]", "V = _12"],
|
||||
["Ls = [dif(2) | _50]", "V = _12"],
|
||||
["Ls = [frozen(a), dif(different) | _36]", "V = _12"]]);
|
||||
[["Ls = [frozen(a), dif(1)]", "V = _12"],
|
||||
["Ls = [dif(2)]", "V = _12"],
|
||||
["Ls = [frozen(a), dif(different)]", "V = _12"]]);
|
||||
|
||||
assert_prolog_success!(&mut wam, "?- put_atts(V, my_mod, [dif(1), dif(2), frozen(a)]),
|
||||
( put_atts(V, my_mod, -dif(2)); put_atts(V, my_mod, -frozen(A)) ),
|
||||
get_atts(V, my_mod, L).",
|
||||
[["A = _69", "L = [dif(1), frozen(a) | _67]", "V = _27"],
|
||||
["A = _69", "L = [dif(1), dif(2) | _67]", "V = _27"]]);
|
||||
[["A = _69", "L = [dif(1), frozen(a)]", "V = _27"],
|
||||
["A = _69", "L = [dif(1), dif(2)]", "V = _27"]]);
|
||||
assert_prolog_success!(&mut wam, "?- put_atts(V, my_mod, [dif(1), dif(2), frozen(a)]),
|
||||
( put_atts(V, my_mod, -dif(2)), V = f(a)
|
||||
; put_atts(V, my_mod, -frozen(_)), get_atts(V, my_mod, L) ).",
|
||||
[["L = _69", "V = f(a)"],
|
||||
["L = [dif(1), dif(2) | _67]", "V = _27"]]);
|
||||
["L = [dif(1), dif(2)]", "V = _27"]]);
|
||||
assert_prolog_success!(&mut wam, "?- put_atts(V, my_mod, [dif(1), dif(2), frozen(a), frozen(b)]),
|
||||
( put_atts(V, my_mod, -dif(2)) ; put_atts(V, my_mod, -frozen(A)) ),
|
||||
get_atts(V, my_mod, L).",
|
||||
[["A = _97", "L = [dif(1), frozen(a), frozen(b) | _95]", "V = _31"],
|
||||
["A = _97", "L = [dif(1), dif(2) | _95]", "V = _31"]]);
|
||||
[["A = _97", "L = [dif(1), frozen(a), frozen(b)]", "V = _31"],
|
||||
["A = _97", "L = [dif(1), dif(2)]", "V = _31"]]);
|
||||
assert_prolog_failure!(&mut wam, "?- put_atts(V, my_mod, [dif(1), dif(2), frozen(a), frozen(b)]),
|
||||
get_atts(V, my_mod, -dif(1)).");
|
||||
assert_prolog_success!(&mut wam, "?- put_atts(V, my_mod, [dif(1), dif(2), frozen(a), frozen(b)]),
|
||||
@@ -2184,8 +2184,8 @@ fn test_queries_on_attributed_variables()
|
||||
["X = 2", "V = _31"]]);
|
||||
assert_prolog_success!(&mut wam, "?- put_atts(V, my_mod, [dif(1), dif(2), frozen(a), frozen(b)]),
|
||||
put_atts(V, my_mod, -dif(A)), get_atts(V, my_mod, Ls).",
|
||||
[["A = _98", "Ls = [frozen(a), frozen(b) | _95]", "V = _31"]]);
|
||||
[["A = _98", "Ls = [frozen(a), frozen(b)]", "V = _31"]]);
|
||||
assert_prolog_success!(&mut wam, "?- put_atts(V, my_mod, [dif(1), frozen(a), dif(2), frozen(b)]),
|
||||
put_atts(V, my_mod, -dif(A)), get_atts(V, my_mod, Ls).",
|
||||
[["A = _98", "Ls = [frozen(a), frozen(b) | _95]", "V = _31"]]);
|
||||
[["A = _98", "Ls = [frozen(a), frozen(b)]", "V = _31"]]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user