ucg/std/tests/testing_test.ucg
Jeremy Wall d989e47706 FEATURE: Use a better DSL for unit tests.
* Assert now requires a tuple instead of a string containing
  statements.
* We include a helpful ucg based unit testing module.

Fixes: #26
2019-01-10 17:17:57 -06:00

69 lines
1.2 KiB
Plaintext

import "../testing.ucg" as t;
let asserts = t.asserts{};
let not_equal_result = asserts.not_equal{
left=1,
right=2,
};
assert not_equal_result;
assert asserts.equal{
left=not_equal_result.desc,
right="OK - 1 != 2",
};
let bad_not_equal_result = asserts.not_equal{
left=1,
right=1,
};
assert asserts.not_ok{test=bad_not_equal_result.ok};
assert asserts.equal{
left=bad_not_equal_result.desc,
right="NOT OK - 1 == 1",
};
let equal_result = asserts.equal{
left=1,
right=1,
};
assert equal_result;
assert asserts.equal{
left=equal_result.desc,
right="OK - 1 == 1",
};
let bad_equal_result = asserts.equal{
left=1,
right=2,
};
assert asserts.equal{
left=bad_equal_result.desc,
right="NOT OK - 1 != 2",
};
let ok_result = asserts.ok{
test=true,
};
assert ok_result;
assert asserts.equal{
left=ok_result.desc,
right="OK - TODO description",
};
let bad_ok_result = t.asserts.ok{
test=false,
};
assert asserts.equal{
left=bad_ok_result.desc,
right="NOT OK - TODO description",
};
let not_ok_result = asserts.not_ok{
test=false,
};
assert not_ok_result;
assert asserts.equal{
left=not_ok_result.desc,
right="OK - TODO description",
};