diff options
| author | OpportunityLiu <[email protected]> | 2019-06-08 13:34:02 +0800 |
|---|---|---|
| committer | OpportunityLiu <[email protected]> | 2019-06-08 13:34:02 +0800 |
| commit | 1af88102687e493cab40e62b0a2b8b7d42417ae6 (patch) | |
| tree | 272a80b424e68024a9ecda138159864d9659fe5a /tests/test_utils/test_assert.lua | |
| parent | e165a8e43abed4eb2eca64c3b5adefb57cd65600 (diff) | |
improve test lib
Diffstat (limited to 'tests/test_utils/test_assert.lua')
| -rw-r--r-- | tests/test_utils/test_assert.lua | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/test_utils/test_assert.lua b/tests/test_utils/test_assert.lua new file mode 100644 index 000000000..0fac45fe3 --- /dev/null +++ b/tests/test_utils/test_assert.lua @@ -0,0 +1,66 @@ + +import("print_error") +import("check") + +local test_assert = { print_error = print_error.main } + +function test_assert:require(value) + if not value then + self:print_error(vformat("require ${green}true${reset} but got ${red}%s${reset}", value), self.filename) + end +end + +function test_assert:require_not(value) + if value then + self:print_error(vformat("require ${green}false${reset} but got ${red}%s${reset}", value), self.filename) + end +end + +function test_assert:are_same(actual, expacted) + local r, ap, ep = check.same(actual, expacted) + if not r then + self:print_error(format("expacted: ${green}%s${reset}, actual ${red}%s${reset}", ep, ap), self.filename) + end +end + +function test_assert:are_not_same(actual, expacted) + local r, ap, ep = check.same(actual, expacted) + if r then + self:print_error(format("expacted: ${green}%s${reset}, actual ${red}%s${reset}", ep, ap), self.filename) + end +end + + +function test_assert:are_equal(actual, expacted) + local r, ap, ep = check.equal(actual, expacted) + if not r then + self:print_error(format("expacted: ${green}%s${reset}, actual ${red}%s${reset}", ep, ap), self.filename) + end +end + +function test_assert:are_not_equal(actual, expacted) + local r, ap, ep = check.equal(actual, expacted) + if r then + self:print_error(format("expacted: ${green}%s${reset}, actual ${red}%s${reset}", ep, ap), self.filename) + end +end + +function test_assert:will_raise(func, message_pattern) + try{ + func, + finally{ + function (ok, error) + if ok then + self:print_error("expected raise but finined successfully", func) + elseif message_pattern and not string.find(error, message_pattern) then + self:print_error(format("expected raise with message ${green}%s${reset} but got ${red}%s${reset}", message_pattern, error), func) + end + end + } + } +end + +function main(context) + table.join2(context, test_assert) + return context +end
\ No newline at end of file |
