2018-08-21 23:05:06 -05:00
|
|
|
let list1 = [1, 2, 3, 4];
|
|
|
|
let list2 = ["foo", "bar", "foo", "bar"];
|
|
|
|
|
|
|
|
let mapper = macro(item) => { result = item + 1 };
|
|
|
|
let filtrator = macro(item) => {
|
|
|
|
result = select item, NULL, {
|
|
|
|
foo = item,
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
2018-08-22 18:56:12 -05:00
|
|
|
let boolfiltrator = macro(item) => {
|
|
|
|
result = item < 5,
|
|
|
|
};
|
|
|
|
|
2018-11-06 19:40:56 -06:00
|
|
|
assert |
|
|
|
|
map mapper.result list1 == [2, 3, 4, 5];
|
|
|
|
|;
|
|
|
|
assert |
|
|
|
|
(map mapper.result [1, 2, 3, 4]) == [2, 3, 4, 5];
|
|
|
|
|;
|
|
|
|
assert |
|
|
|
|
map mapper.result [1, 2, 3, 4] == [2, 3, 4, 5];
|
|
|
|
|;
|
2018-08-21 23:05:06 -05:00
|
|
|
|
2018-11-06 19:40:56 -06:00
|
|
|
assert |
|
|
|
|
filter filtrator.result list2 == ["foo", "foo"];
|
|
|
|
|;
|
|
|
|
assert |
|
|
|
|
(filter filtrator.result ["foo", "bar", "foo", "bar"]) == ["foo", "foo"];
|
|
|
|
|;
|
|
|
|
assert |
|
|
|
|
filter filtrator.result ["foo", "bar", "foo", "bar"] == ["foo", "foo"];
|
|
|
|
|;
|
|
|
|
assert |
|
|
|
|
filter boolfiltrator.result [1, 2, 3, 4, 5, 6, 7] == [1, 2, 3, 4];
|
|
|
|
|;
|