mirror of
https://github.com/zaphar/ucg.git
synced 2025-07-21 18:10:42 -04:00
62 lines
1.7 KiB
Plaintext
62 lines
1.7 KiB
Plaintext
// A module with helper test assertions for ucg tests.
|
|
// Each contained module will output a struct with
|
|
// ok and desc fields.
|
|
//
|
|
// ok will be a boolean.
|
|
// desc will be a descriptive message.
|
|
let asserts = module{
|
|
// allows you to specify a a prefix for messages.
|
|
// specify the prefix to add when the condition is not true.
|
|
// A default description to use for messages.
|
|
default_description = "TODO description",
|
|
} => {
|
|
|
|
// Test that a value is true.
|
|
let ok = module{
|
|
// test value expected to be true for success.
|
|
test=false,
|
|
// descriptive message to use in output.
|
|
desc=mod.default_description,
|
|
} => {
|
|
let ok = mod.test;
|
|
|
|
let desc = "@" % (mod.desc);
|
|
};
|
|
|
|
// Test that a value is not true.
|
|
let not_ok = module{
|
|
// Test value expected to to be false for success.
|
|
test=true,
|
|
// descriptive message to use in output.
|
|
desc=mod.default_description,
|
|
} => {
|
|
let ok = mod.test != true;
|
|
|
|
let desc = "@" % (mod.desc);
|
|
|
|
};
|
|
|
|
// Asserts that two values are equal. Does deep equal comparisons.
|
|
let equal = module{
|
|
// Left value for deep equal comparison.
|
|
left=NULL,
|
|
// right value for deep equal comparison.
|
|
right=NULL,
|
|
} => {
|
|
let ok = mod.left == mod.right;
|
|
|
|
let desc = "@ == @" % (mod.left, mod.right);
|
|
};
|
|
|
|
// Asserts that two values are not equal. Does deep equal comparisons.
|
|
let not_equal = module{
|
|
// Left value for deep equal comparison.
|
|
left=NULL,
|
|
// right value for deep equal comparison.
|
|
right=NULL,
|
|
} => {
|
|
let ok = mod.left != mod.right;
|
|
|
|
let desc = "@ != @" % (mod.left, mod.right);
|
|
};
|
|
}; |