Refactor, cleanup
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
local function assertEqual(a, b)
|
||||
if a ~= b then
|
||||
error("Assertion failed: " .. a .. " is not equal to " .. b)
|
||||
end
|
||||
end
|
||||
|
||||
-- Logic values, shouldn't be affected
|
||||
assertEqual(some(nil), nil)
|
||||
assertEqual(some(true), true)
|
||||
assertEqual(some(false), false)
|
||||
|
||||
-- Numbers
|
||||
assertEqual(some(1), 1)
|
||||
assertEqual(some(0), 0) -- 0 is not falsy unlike C
|
||||
assertEqual(some(-1), -1)
|
||||
assertEqual(some(1/0), nil) -- inf
|
||||
assertEqual(some(0/0), nil) -- nan
|
||||
|
||||
-- Strings
|
||||
assertEqual(some("foo bar"), "foo bar")
|
||||
assertEqual(some(""), nil)
|
||||
assertEqual(some(" \n"), nil)
|
||||
|
||||
-- Tables
|
||||
assertEqual(some({}), nil)
|
||||
assertEqual(some({"baz"})[1], "baz") -- compare an element to ensure passthrough
|
||||
assertEqual(some({foo="bar"})["foo"], "bar")
|
||||
Reference in New Issue
Block a user