gambas-source-code/comp/src/gb.test/.src/TestMyself/TestInternals.test

80 lines
3 KiB
Text
Raw Normal View History

' Gambas test file
'' P
Public Sub ParseTestCommands()
Dim sCommand As String
Dim Commands As TestCommand[]
Dim sGot As String
Dim iGot As Integer
'Three TestModules
sCommand = "Bing, Bong, Bung"
Commands = TestCommand.ParseCommands(sCommand)
sGot = Commands[0].ModuleName & Commands[1].ModuleName & Commands[2].ModuleName
Assert.Equals(sGot, "BingBongBung", "ParseCommands: Three testmodules")
'Test testmodules sort
sCommand = "Bing,Bung,Bong"
Commands = TestCommand.ParseCommands(sCommand)
sGot = Commands[0].ModuleName & Commands[1].ModuleName & Commands[2].ModuleName
Assert.Equals(sGot, "BingBongBung", "ParseCommands: Testmodules have to be sorted")
'Three testmodules, one with three methods
sCommand = "Bong.B, Bing, Bong.A, Bung, Bong.C"
Commands = TestCommand.ParseCommands(sCommand)
sGot = Commands[0].ModuleName & Commands[1].ModuleName & Commands[2].ModuleName
Assert.Equals(sGot, "BingBongBung", "ParseCommands: Three testmodules, one with three methods")
'Methods name sort
sGot = Commands[1].Methods.Join()
Assert.Equals(sGot, "A,B,C", "ParseCommands: Methods name sort")
'Three testmodules, one with methods, but Bong also wanted all, the more greedy one has to get it
sCommand = "Bong, Bing, Bong.A, Bung, Bong.B, Bong.C"
Commands = TestCommand.ParseCommands(sCommand)
'Methods name sort
iGot = Commands[1].Methods.Count
Assert.Equals(iGot, 0, "ParseCommands: Greedy testmodule Bong")
'Programmer was a little tipsy but got it all except Bung which only wants testmethod U
sCommand = "Bong, Bong.A, Bing, Bing, Bing, Bing, Bing, Bing, Bong.A, Bung.U, Bong.B, Bong.C, Bing, Bing, Bing, Bong, Bong"
Commands = TestCommand.ParseCommands(sCommand)
'Methods name sort
iGot = Commands[0].Methods.Count
Assert.Equals(iGot, 0, "ParseCommands: Tipsy programmer 1")
iGot = Commands[1].Methods.Count
Assert.Equals(iGot, 0, "ParseCommands: Tipsy programmer 2")
iGot = Commands[2].Methods.Count
Assert.Equals(iGot, 1, "ParseCommands: Tipsy programmer 3")
sGot = Commands[2].Methods[0]
Assert.Equals(sGot, "U", "ParseCommands: Tipsy programmer 4")
End
'' Tests the ability to return all tests
'' in the project as a collection
Public Sub ReflectTest()
Dim tests As Collection
tests = Test.GetAllTests()
'count of all testmodules, if it fails we created a new one and we have to count new
Assert.Equals(tests.Count, 10, "number of all testmodules")
'count of all testmethods, if it fails we created a new one and we have to count new
Assert.Equals(tests["TestAllAsserts"].Count, 13, "count of all testmethods in TestAllAsserts")
Assert.Equals(tests["TestBailout"].Count, 1, "count of all testmethods in TestBailout")
Assert.Equals(tests["TestCrashes"].Count, 2, "count of all testmethods in TestCrashes")
Assert.Equals(tests["TestElse"].Count, 3, "count of all testmethods in TestElse")
Assert.Equals(tests["TestEmpty"].Count, 0, "count of all testmethods in TestEmpty")
End