Sha256: 520124c85d89cc6b27530581c37becaf7d7ec932624c4c2930b90d40a48421d8

Contents?: true

Size: 856 Bytes

Versions: 207

Compression:

Stored size: 856 Bytes

Contents

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)

  it('should not modify the input array', function()
    local input = { 1, 2, 3 }
    accumulate(input, square)
    assert.are.same({ 1, 2, 3 }, input)
  end)
end)

Version data entries

207 entries across 207 versions & 1 rubygems

Version Path
trackler-1.0.2.1 tracks/lua/exercises/accumulate/accumulate_spec.lua
trackler-1.0.2.0 tracks/lua/exercises/accumulate/accumulate_spec.lua
trackler-1.0.1.2 tracks/lua/exercises/accumulate/accumulate_spec.lua
trackler-1.0.1.1 tracks/lua/exercises/accumulate/accumulate_spec.lua
trackler-1.0.1.0 tracks/lua/exercises/accumulate/accumulate_spec.lua
trackler-1.0.0.1 tracks/lua/exercises/accumulate/accumulate_spec.lua
trackler-1.0.0 tracks/lua/exercises/accumulate/accumulate_spec.lua