exercism/lua/accumulate/accumulate_spec.lua
2016-08-13 18:20:14 -05:00

24 lines
697 B
Lua

local accumulate = require('accumulate')
describe('accumulate', function()
local function square(x) return x * x end
it('should accumulate over an empty array', function()
assert.are.same({}, accumulate({}, square))
end)
it('should accumulate over an array with a single element', function()
assert.are.same({ 4 }, accumulate({ 2 }, square))
end)
it('should accumulate over an array with several elements', function()
assert.are.same({ 1, 4, 9 }, accumulate({ 1, 2, 3 }, square))
end)
it('should accumulate over an array with a different function', function()
assert.are.same({ 'HELLO', 'WORLD' }, accumulate({ 'hello', 'world' }, string.upper))
end)
end)