36 lines
1.1 KiB
Plaintext
36 lines
1.1 KiB
Plaintext
general {
|
|
funcon-term:
|
|
initialise-giving
|
|
initialise-binding
|
|
sequential(
|
|
check-true is-equal(
|
|
match([],[]), map()),
|
|
check-true is-equal(
|
|
match([false],[pattern-bind"b"]),
|
|
{"b"|->false}),
|
|
check-true is-equal(
|
|
match([false,true],[pattern-bind"a",pattern-bind"b"]),
|
|
{"a"|->false,"b"|->true}),
|
|
check-true is-equal(
|
|
match(map(),map()), map()),
|
|
check-true is-equal(
|
|
match({"a"|->false,"b"|->true},{"b"|->pattern-bind"d","a"|->pattern-bind"c"}),
|
|
{"c"|->false,"d"|->true}),
|
|
check-true is-equal(
|
|
match(true,true), map()),
|
|
else(
|
|
effect match([],[false]),
|
|
effect match([false],[false,false]),
|
|
effect match([false,true],[pattern-bind"a",pattern-bind"a"]),
|
|
effect match(map(),{"a"|->true}),
|
|
effect match({"b"|->true},{"b"|->pattern-any,"c"|->pattern-any}),
|
|
effect match(false,true),
|
|
print"OK"))
|
|
;
|
|
}
|
|
|
|
tests {
|
|
result-term: null-value;
|
|
standard-out: ["OK"];
|
|
}
|