2019-01-16 18:47:16 -06:00
|
|
|
let t = (import "std/testing.ucg").asserts{};
|
|
|
|
let f = (import "std/functional.ucg");
|
|
|
|
|
2019-01-24 20:04:40 -06:00
|
|
|
let op = func (arg) => arg{foo="bar"};
|
2019-01-16 18:47:16 -06:00
|
|
|
|
|
|
|
assert t.equal{
|
2019-01-16 19:07:03 -06:00
|
|
|
left = f.maybe{val=NULL}.do(op),
|
2019-01-16 18:47:16 -06:00
|
|
|
right = NULL,
|
|
|
|
};
|
|
|
|
|
|
|
|
assert t.equal{
|
2019-01-16 19:07:03 -06:00
|
|
|
left = f.maybe{val={}}.do(op),
|
2019-01-16 18:47:16 -06:00
|
|
|
right = {foo="bar"},
|
|
|
|
};
|
|
|
|
|
|
|
|
assert t.equal{
|
2019-01-16 19:07:03 -06:00
|
|
|
left = f.if{test=true}.do(op, {}),
|
2019-01-16 18:47:16 -06:00
|
|
|
right = {foo="bar"},
|
|
|
|
};
|
|
|
|
|
|
|
|
assert t.equal{
|
2019-01-16 19:07:03 -06:00
|
|
|
left = f.if{test=false}.do(op, {}),
|
2019-01-16 18:47:16 -06:00
|
|
|
right = {},
|
|
|
|
};
|
|
|
|
|
|
|
|
assert t.equal{
|
2019-01-16 19:07:03 -06:00
|
|
|
left = f.identity("foo"),
|
2019-01-16 18:47:16 -06:00
|
|
|
right = "foo",
|
|
|
|
};
|