ucg/std/tests/lists_test.ucg

55 lines
1021 B
Plaintext

let list = import "std/lists.ucg";
let t = import "std/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},
right="1,2,3"
};
assert asserts.equal{
left=list.len([0, 1, 2, 3]),
right=4,
};
assert asserts.equal{
left = list.reverse([0, 1, 2, 3]),
right = [3, 2, 1, 0],
};
assert asserts.equal{
left=list.enumerate{list=["foo", "bar"]},
right=[[0, "foo"], [1, "bar"]],
};
assert asserts.equal{
left=list.enumerate{start=1, list=["foo", "bar"]},
right=[[1, "foo"], [2, "bar"]],
};
assert asserts.equal{
left=list.enumerate{
start=1,
step=2,
list=["foo", "bar"]
},
right=[[1, "foo"], [3, "bar"]],
};
assert asserts.equal{
left=list.zip{list1=[0, 1], list2=[3, 4]},
right=[[0, 3], [1, 4]],
};
assert asserts.equal{
left=list.tail([0,1,2,3,4]),
right=[1,2,3,4],
};
assert asserts.equal{
left=list.head([0,1,2,3,4]),
right=[0],
};