#!/usr/bin/env lua local lu = require('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:test_skipped() local test_conditions_are_met = false lu.skipIf( not test_conditions_are_met, "Test is skipped because ..." ) end -- class TestTiti 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 -- class TestTiti -- simple test functions that were written previously can be integrated -- in luaunit too function test1_withAssertionError() assert( 1 == 1) -- will fail assert( 1 == 2) end function test2_withAssertionError() assert( 'a' == 'a') -- will fail assert( 'a' == 'b') end function test3() assert( 1 == 1) assert( 'a' == 'a') end local runner = lu.LuaUnit.new() runner:setOutputType("text") os.exit( runner:runSuite() )