diff --git a/lua-shuf/credit.lua b/lua-shuf/credit.lua index 068643b..6d7507f 100644 --- a/lua-shuf/credit.lua +++ b/lua-shuf/credit.lua @@ -1,5 +1,27 @@ local function g(f) - -- implement it here + local n = 1000 + local occurense = {} + for i = 1, n do + n[i] = 0 + end + local result = f(n) + + assert(type(result) == "table") + assert(#result == n) + for i = 1, n do + occurense[result[i]] = 1 + end + + local sum = 0 + for i = 1, n do + sum = sum + occurense[i] + end + assert(sum == n) + assert(f(0) == nil) + + assert(pcall(f('hjhg'))) + assert(pcall(f('1'))) + assert(pcall(f(1))) end return g