Sha256: 8709347287d4b7aaab481bb70d5da80fff66183eefef74672435380f41748c3f

Contents?: true

Size: 1.98 KB

Versions: 396

Compression:

Stored size: 1.98 KB

Contents

local triangle = require('triangle')

describe('triangle', function()
  it('equilateral triangles have equal sides', function()
    assert.are.equals('equilateral', triangle.kind(2, 2, 2))
  end)

  it('larger equilateral triangles also have equal sides', function()
    assert.are.equals('equilateral', triangle.kind(10, 10, 10))
  end)

  it('isosceles triangles have last two sides equal', function()
    assert.are.equals('isosceles', triangle.kind(3, 4, 4))
  end)

  it('isosceles trianges have first and last sides equal', function()
    assert.are.equals('isosceles', triangle.kind(4, 3, 4))
  end)

  it('isosceles triangles have two first sides equal', function()
    assert.are.equals('isosceles', triangle.kind(4, 4, 3))
  end)

  it('isosceles triangles have in fact exactly two sides equal', function()
    assert.are.equals('isosceles', triangle.kind(10, 10, 2))
  end)

  it('scalene triangles have no equal sides', function()
    assert.are.equals('scalene', triangle.kind(3, 4, 5))
  end)

  it('scalene triangles have no equal sides at a larger scale too', function()
    assert.are.equals('scalene', triangle.kind(10, 11, 12))
  end)

  it('scalene triangles have no equal sides in descending order either', function()
    assert.are.equals('scalene', triangle.kind(5, 4, 2))
  end)

  it('very small triangles are legal', function()
    assert.are.equals('scalene', triangle.kind(0.4, 0.6, 0.3))
  end)

  it('test triangles with no size are illegal', function()
    assert.has_error(function() triangle.kind(0, 0, 0) end, 'Input Error')
  end)

  it('triangles with negative sides are illegal', function()
    assert.has_error(function() triangle.kind(3, 4, -5) end, 'Input Error')
  end)

  it('triangles violating triangle inequality are illegal', function()
    assert.has_error(function() triangle.kind(1, 1, 3) end, 'Input Error')
  end)

  it('triangles violating triangle inequality are illegal 2', function()
    assert.has_error(function() triangle.kind(7, 3, 2) end, 'Input Error')
  end)
end)

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.179 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.178 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.177 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.176 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.175 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.174 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.173 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.172 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.171 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.170 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.169 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.167 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.166 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.165 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.164 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.163 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.162 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.161 tracks/lua/exercises/triangle/triangle_spec.lua
trackler-2.2.1.160 tracks/lua/exercises/triangle/triangle_spec.lua