12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- --
- -- tests/base/test_table.lua
- -- Automated test suite for the new table functions.
- -- Copyright (c) 2008-2013 Jason Perkins and the Premake project
- --
- local suite = test.declare("table")
- local t
- --
- -- table.contains() tests
- --
- function suite.contains_OnContained()
- t = { "one", "two", "three" }
- test.istrue( table.contains(t, "two") )
- end
- function suite.contains_OnNotContained()
- t = { "one", "two", "three" }
- test.isfalse( table.contains(t, "four") )
- end
- --
- -- table.flatten() tests
- --
- function suite.flatten_OnMixedValues()
- t = { "a", { "b", "c" }, "d" }
- test.isequal({ "a", "b", "c", "d" }, table.flatten(t))
- end
- --
- -- table.implode() tests
- --
- function suite.implode()
- t = { "one", "two", "three", "four" }
- test.isequal("[one], [two], [three], [four]", table.implode(t, "[", "]", ", "))
- end
- --
- -- table.indexof() tests
- --
- function suite.indexof_returnsIndexOfValueFound()
- local idx = table.indexof({ "a", "b", "c" }, "b")
- test.isequal(2, idx)
- end
- --
- -- table.isempty() tests
- --
- function suite.isempty_ReturnsTrueOnEmpty()
- test.istrue(table.isempty({}))
- end
- function suite.isempty_ReturnsFalseOnNotEmpty()
- test.isfalse(table.isempty({ 1 }))
- end
- function suite.isempty_ReturnsFalseOnNotEmptyMap()
- test.isfalse(table.isempty({ name = 'premake' }))
- end
- function suite.isempty_ReturnsFalseOnNotEmptyMapWithFalseKey()
- test.isfalse(table.isempty({ [false] = 0 }))
- end
- --
- -- table.insertsorted() tests
- --
- function suite.insertsorted()
- local t = {}
- table.insertsorted(t, 5)
- table.insertsorted(t, 2)
- table.insertsorted(t, 8)
- table.insertsorted(t, 4)
- table.insertsorted(t, 1)
- test.istrue(#t == 5)
- test.istrue(t[1] == 1)
- test.istrue(t[2] == 2)
- test.istrue(t[3] == 4)
- test.istrue(t[4] == 5)
- test.istrue(t[5] == 8)
- end
|