ucg/std/tests/lists_test.ucg
Jeremy Wall 54faeede5e FEATURE: Imports as expressions.
This is a breaking change for the language. However it makes a number of things
easier. Like importing specific symbols from a file.

adds: #28
2019-01-13 14:10:43 -06:00

45 lines
924 B
Plaintext

let list = import "../lists.ucg";
let t = import "../testing.ucg";
let list_to_join = [1, 2, 3];
let asserts = t.asserts{};
assert asserts.equal{
left=list.str_join{sep=",", list=list_to_join}.result,
right="1,2,3"
};
assert asserts.equal{
left=list.len{list=[0, 1, 2, 3]}.result,
right=4,
};
assert asserts.equal{
left = list.reverse{list=[0, 1, 2, 3]}.result,
right = [3, 2, 1, 0],
};
assert asserts.equal{
left=list.enumerate{list=["foo", "bar"]}.result,
right=[[0, "foo"], [1, "bar"]],
};
assert asserts.equal{
left=list.enumerate{start=1, list=["foo", "bar"]}.result,
right=[[1, "foo"], [2, "bar"]],
};
assert asserts.equal{
left=list.enumerate{
start=1,
step=2,
list=["foo", "bar"]
}.result,
right=[[1, "foo"], [3, "bar"]],
};
assert asserts.equal{
left=list.zip{list1=[0, 1], list2=[3, 4]}.result,
right=[[0, 3], [1, 4]],
};