ucg/std/tests/tuples_test.ucg
Jeremy Wall 1d6c850fd4 FEATURE: Dynamic Type checking with is.
Any expression for the type as long as the expression evaluates to a string.
2019-01-19 13:06:43 -06:00

41 lines
943 B
Plaintext

let tpl = import "std/tuples.ucg";
let t = (import "std/testing.ucg").asserts{};
assert t.equal{
left = tpl.fields{tpl={foo=1, bar=2}}.result,
right = ["foo", "bar"],
};
assert t.equal{
left = tpl.values{tpl={foo=1, bar=2}}.result,
right = [1, 2],
};
assert t.equal{
left = tpl.iter{tpl={foo=1, bar=2}}.result,
right = [["foo", 1], ["bar", 2]],
};
assert t.equal{
left = tpl.strip_nulls{tpl={foo="bar", bar=NULL}}.result,
right = {foo="bar"},
};
assert t.ok{
test = tpl.has_fields{tpl={foo=1, bar=2}, fields=["foo", "bar"]}.result,
desc = "tuple has fields has foo and bar fields",
};
assert t.not_ok{
test = tpl.has_fields{tpl={blah=1, bar=2}, fields=["foo", "bar"]}.result,
desc = "tuple does not have fields foo and bar",
};
assert t.ok{
test = tpl.field_type{
tpl={foo=1},
field="foo",
type="int",
}.result,
desc = "tuple has field of type int",
};