Skip to content

Commit

Permalink
Luaunit Test Cases (#468)
Browse files Browse the repository at this point in the history
* Add Travis CI Image

* Added math.lua Test Cases

* fixed luaunit_example.lua to work from root

* add util test file

* Made Test work with only one file

* ..

* LUA! It's called regex not some random ass bullshit!

* Remove Regex Test

* Added math.lua Test Cases

* fixed luaunit_example.lua to work from root

* add util test file

* Made Test work with only one file

* ..

* LUA! It's called regex not some random ass bullshit!

* Remove Regex Test

* Added functional.lua test

* Apparently I'm doing something wrong with partial

* revert files
  • Loading branch information
Chronophylos authored and chrisinajar committed Apr 7, 2017
1 parent 2a688fc commit 1405e05
Show file tree
Hide file tree
Showing 5 changed files with 234 additions and 111 deletions.
222 changes: 111 additions & 111 deletions contrib/luaunit_example.lua
Original file line number Diff line number Diff line change
@@ -1,121 +1,121 @@
local lu = require('luaunit')
local lu = require('contrib/luaunit')

TestToto = {} --class

function TestToto:setUp()
-- set up tests
self.a = 1
self.s = 'hop'
self.t1 = {1,2,3}
self.t2 = {one=1,two=2,three=3}
self.t3 = {1,2,three=3}
end

function TestToto:test1_withFailure()
-- print( "some stuff test 1" )
lu.assertEquals( self.a , 1 )
-- will fail
lu.assertEquals( self.a , 2 )
lu.assertEquals( self.a , 2 )
end

function TestToto:test2_withFailure()
-- print( "some stuff test 2" )
lu.assertEquals( self.a , 1 )
lu.assertEquals( self.s , 'hop' )
-- will fail
lu.assertEquals( self.s , 'bof' )
lu.assertEquals( self.s , 'bof' )
end

function TestToto:test3()
-- print( "some stuff test 3" )
lu.assertEquals( self.a , 1 )
lu.assertEquals( self.s , 'hop' )
lu.assertEquals( type(self.a), 'number' )
end

function TestToto:test4()
-- print( "some stuff test 4" )
lu.assertNotEquals( self.a , 1 )
end

function TestToto:test5()
-- print( "some stuff test 5" )
lu.assertEvalToTrue( self.a )
lu.assertEvalToFalse( self.a ) -- will trigger the failure
end

function TestToto:test6()
-- print( "some stuff test 6" )
lu.assertTrue( true )
lu.assertFalse( false )
lu.assertEvalToFalse( nil )
lu.assertFalse( nil ) -- trigger the failure assertFalse is strict
end

function TestToto:test7()
-- assertEquals( {1,2}, self.t1 )
-- assertEquals( {1,2}, self.t2 )
lu.assertEquals( {1,2}, self.t3 )
end

function TestToto:test8a()
-- failure occurs in a submethod
self:funcWithError()
end

function TestToto:test8b()
-- failure occurs in a submethod
self:funcWithFuncWithError()
end

function TestToto:funcWithFuncWithError()
self:funcWithError()
end

function TestToto:funcWithError()
error('Bouhouhoum error!')
end
function TestToto:setUp()
-- set up tests
self.a = 1
self.s = 'hop'
self.t1 = {1,2,3}
self.t2 = {one=1,two=2,three=3}
self.t3 = {1,2,three=3}
end

function TestToto:test1_withFailure()
-- print( "some stuff test 1" )
lu.assertEquals( self.a , 1 )
-- will fail
lu.assertEquals( self.a , 2 )
lu.assertEquals( self.a , 2 )
end

function TestToto:test2_withFailure()
-- print( "some stuff test 2" )
lu.assertEquals( self.a , 1 )
lu.assertEquals( self.s , 'hop' )
-- will fail
lu.assertEquals( self.s , 'bof' )
lu.assertEquals( self.s , 'bof' )
end

function TestToto:test3()
-- print( "some stuff test 3" )
lu.assertEquals( self.a , 1 )
lu.assertEquals( self.s , 'hop' )
lu.assertEquals( type(self.a), 'number' )
end

function TestToto:test4()
-- print( "some stuff test 4" )
lu.assertNotEquals( self.a , 1 )
end

function TestToto:test5()
-- print( "some stuff test 5" )
lu.assertEvalToTrue( self.a )
lu.assertEvalToFalse( self.a ) -- will trigger the failure
end

function TestToto:test6()
-- print( "some stuff test 6" )
lu.assertTrue( true )
lu.assertFalse( false )
lu.assertEvalToFalse( nil )
lu.assertFalse( nil ) -- trigger the failure assertFalse is strict
end

function TestToto:test7()
-- assertEquals( {1,2}, self.t1 )
-- assertEquals( {1,2}, self.t2 )
lu.assertEquals( {1,2}, self.t3 )
end

function TestToto:test8a()
-- failure occurs in a submethod
self:funcWithError()
end

function TestToto:test8b()
-- failure occurs in a submethod
self:funcWithFuncWithError()
end

function TestToto:funcWithFuncWithError()
self:funcWithError()
end

function TestToto:funcWithError()
error('Bouhouhoum error!')
end


-- class TestToto

TestTiti = {} --class
function TestTiti:setUp()
-- set up tests
self.a = 1
self.s = 'hop'
-- print( 'TestTiti:setUp' )
end

function TestTiti:tearDown()
-- some tearDown() code if necessary
-- print( 'TestTiti:tearDown' )
end

function TestTiti:test1_withFailure()
-- print( "some stuff test 1" )
lu.assertEquals( self.a , 1 )
-- will fail
lu.assertEquals( self.a , 2 )
lu.assertEquals( self.a , 2 )
end

function TestTiti:test2_withFailure()
-- print( "some stuff test 2" )
lu.assertEquals( self.a , 1 )
lu.assertEquals( self.s , 'hop' )
-- will fail
lu.assertEquals( self.s , 'bof' )
lu.assertEquals( self.s , 'bof' )
end

function TestTiti:test3()
-- print( "some stuff test 3" )
lu.assertEquals( self.a , 1 )
lu.assertEquals( self.s , 'hop' )
end
function TestTiti:setUp()
-- set up tests
self.a = 1
self.s = 'hop'
-- print( 'TestTiti:setUp' )
end

function TestTiti:tearDown()
-- some tearDown() code if necessary
-- print( 'TestTiti:tearDown' )
end

function TestTiti:test1_withFailure()
-- print( "some stuff test 1" )
lu.assertEquals( self.a , 1 )
-- will fail
lu.assertEquals( self.a , 2 )
lu.assertEquals( self.a , 2 )
end

function TestTiti:test2_withFailure()
-- print( "some stuff test 2" )
lu.assertEquals( self.a , 1 )
lu.assertEquals( self.s , 'hop' )
-- will fail
lu.assertEquals( self.s , 'bof' )
lu.assertEquals( self.s , 'bof' )
end

function TestTiti:test3()
-- print( "some stuff test 3" )
lu.assertEquals( self.a , 1 )
lu.assertEquals( self.s , 'hop' )
end
-- class TestTiti

-- simple test functions that were written previously can be integrated
Expand All @@ -139,4 +139,4 @@ end

local runner = lu.LuaUnit.new()
runner:setOutputType("tap")
os.exit( runner:runSuite() )
os.exit( runner:runSuite() )
19 changes: 19 additions & 0 deletions contrib/test_functional.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
require('game/scripts/vscripts/libraries/functional')

TestPartial = {}

function TestPartial:setUp ()
print("Testing partial() from function.lua")
end

function add (a, b)
return a + b
end

function TestPartial:test1 ()
print("simple test")
local addToFive = partial(add, 5)
assertEquals(addToFive(5), 10)
assertEquals(addToFive(-5), 0)
assertEquals(addToFive(-10), -5)
end
49 changes: 49 additions & 0 deletions contrib/test_math.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
require('game/scripts/vscripts/libraries/math')

TestMath = {}

function TestMath:setUp()
print("Testing doLinesIntersect() from libraries/math.lua")
self.P1 = { x = 0, y = 0 }
self.P2 = { x = 1, y = 1 }
self.P3 = { x = 0, y = 1 }
self.P4 = { x = 1, y = 0 }
self.P5 = { x = -1, y = 1 }
self.P6 = { x = 1, y = -1 }
self.P7 = { x = 0, y = -1 }
self.P8 = { x = -1, y = 0 }
self.P9 = { x = -1, y = -1 }
end

function TestMath:test1()
print("with a simple intersection at (0,0)")
local isIntersecting, intersection = math.doLinesIntersect(self.P5, self.P6, self.P9, self.P2)
luaunit.assertTrue(isIntersecting)
luaunit.assertEquals(intersection, self.P1)
end

function TestMath:test2()
print("with parallel not touching lines")
local isIntersecting, intersection = math.doLinesIntersect(self.P5, self.P2, self.P9, self.P6)
luaunit.assertFalse(isIntersecting)
end

function TestMath:test3()
print("with weird not touching lines")
local isIntersecting, intersection = math.doLinesIntersect(self.P9, self.P1, self.P7, self.P6)
luaunit.assertFalse(isIntersecting)
end

function TestMath:test4()
print("with lines touching at the end")
local isIntersecting, intersection = math.doLinesIntersect(self.P5, self.P3, self.P2, self.P3)
luaunit.assertTrue(isIntersecting)
luaunit.assertEquals(intersection, self.P1)
end

function TestMath:test5()
print("with the same lines")
local isIntersecting, intersection = math.doLinesIntersect(self.P1, self.P2, self.P1, self.P2)
luaunit.assertTrue(isIntersecting)
luaunit.assertEquals(intersection, self.P1)
end
8 changes: 8 additions & 0 deletions contrib/test_oaa.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
luaunit = require('contrib/luaunit')
require('contrib/test_math')
require('contrib/test_util')
require('contrib/test_functional')

local runner = luaunit.LuaUnit.new()
runner:setOutputType("tap")
os.exit( runner:runSuite() )
47 changes: 47 additions & 0 deletions contrib/test_util.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
require('game/scripts/vscripts/internal/util')

TestSplit = {}

function TestSplit:setUp()
self.string1 = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam sed orci arcu. Duis tristique sagittis turpis, eget laoreet nisi lobortis ac. Nullam eu ultricies est, vitae venenatis nunc. Ut faucibus, nisi vel eleifend rutrum, sapien elit lacinia nibh, vitae gravida lacus tortor sed magna. Sed ullamcorper accumsan tellus, et tempus neque lobortis ut. Quisque at lacinia elit. Curabitur posuere orci vel orci ultrices posuere. Donec tristique lobortis lectus, non semper risus egestas non. Phasellus bibendum, arcu et feugiat condimentum, erat nibh ornare justo, nec ullamcorper nunc tortor quis mi. Vivamus interdum molestie elit, quis commodo neque tempor eget. Curabitur consequat at massa in convallis."
end

function TestSplit:test1()
print("Splitting on ','")
local result = {
"Lorem ipsum dolor sit amet",
" consectetur adipiscing elit. Nam sed orci arcu. Duis tristique sagittis turpis",
" eget laoreet nisi lobortis ac. Nullam eu ultricies est",
" vitae venenatis nunc. Ut faucibus",
" nisi vel eleifend rutrum",
" sapien elit lacinia nibh",
" vitae gravida lacus tortor sed magna. Sed ullamcorper accumsan tellus",
" et tempus neque lobortis ut. Quisque at lacinia elit. Curabitur posuere orci vel orci ultrices posuere. Donec tristique lobortis lectus",
" non semper risus egestas non. Phasellus bibendum",
" arcu et feugiat condimentum",
" erat nibh ornare justo",
" nec ullamcorper nunc tortor quis mi. Vivamus interdum molestie elit",
" quis commodo neque tempor eget. Curabitur consequat at massa in convallis."
}
luaunit.assertEquals(split(self.string1, ","), result)
end

function TestSplit:test2()
print("Splitting on '.'")
local result = {
"Lorem ipsum dolor sit amet, consectetur adipiscing elit",
" Nam sed orci arcu",
" Duis tristique sagittis turpis, eget laoreet nisi lobortis ac",
" Nullam eu ultricies est, vitae venenatis nunc",
" Ut faucibus, nisi vel eleifend rutrum, sapien elit lacinia nibh, vitae gravida lacus tortor sed magna",
" Sed ullamcorper accumsan tellus, et tempus neque lobortis ut",
" Quisque at lacinia elit",
" Curabitur posuere orci vel orci ultrices posuere",
" Donec tristique lobortis lectus, non semper risus egestas non",
" Phasellus bibendum, arcu et feugiat condimentum, erat nibh ornare justo, nec ullamcorper nunc tortor quis mi",
" Vivamus interdum molestie elit, quis commodo neque tempor eget",
" Curabitur consequat at massa in convallis",
""
}
luaunit.assertEquals(split(self.string1, "%."), result)
end

0 comments on commit 1405e05

Please sign in to comment.