Skip to content

Commit ef56eec

Browse files
committed
test
1 parent 47a8908 commit ef56eec

11 files changed

Lines changed: 127 additions & 116 deletions

Test/BitConverterTest.lua

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
2-
Console.WriteLine("IsLittleEndian: ", SysLib.BitConverter.IsLittleEndian)
3-
1+
assert(SysLib.BitConverter.IsLittleEndian, true)
42
--number to bytes
53
local bytes = BitConverter.GetBytesByInt(258)
6-
Console.WriteLine("bytes: ", Serialization.Serialize(bytes))
7-
8-
4+
assert(table.equals(bytes, {2, 1, 0, 0}))
5+
--bytes to number
96
local num = BitConverter.ToNumber(bytes, 1, 4)
10-
Console.WriteLine("bytesToNumber: ", num)
7+
assert(num == 258)

Test/Container/DictionaryTest.lua

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,44 @@
11
local dict = Dictionary.New()
22

3-
dict:Add("user1", "pw1")
4-
dict:Add("user2", "pw2")
5-
dict:Add("user3", "pw3")
3+
dict:Add("user1", 1)
4+
dict:Add("user2", 2)
5+
dict:Add("user3", 3)
66

7-
Console.WriteLine("Count: ", dict:GetCount())
7+
assert(dict:GetCount() == 3)
88

9-
--直接用key获取value
10-
Console.WriteLine("user1: ", dict:Get("user1"))
9+
assert(dict:Get("user1") == 1)
10+
assert(dict:Get("user3") == 3)
1111

1212
--三种遍历方式
13-
Console.WriteLine("ForEachMemberFunction:")
13+
14+
local e1 = 0
15+
local e1k = ""
1416
dict:ForEach(function(k, v)
15-
Console.WriteLine(k, v)
17+
e1k = e1k..k
18+
e1 = e1 + v
1619
end)
20+
assert(e1k == "user1user2user3")
21+
assert(e1 == 6)
1722

18-
Console.WriteLine("Enumerable:")
19-
for key, value in dict:GetEnumerator() do
20-
Console.WriteLine(key, value)
21-
end
2223

23-
Console.WriteLine("Each:")
24-
for k, value in each(dict) do
25-
Console.WriteLine(k, value)
24+
local e2 = 0
25+
local e2k = ""
26+
for k, v in dict:GetEnumerator() do
27+
e2k = e2k..k
28+
e2 = e2 + v
2629
end
27-
28-
Console.WriteLine("ContainsKey user3: ", dict:ContainsKey("user3"))
29-
Console.WriteLine("ContainsKey user4: ", dict:ContainsKey("user4"))
30-
31-
Console.WriteLine("Dict Count: ", dict:GetCount())
32-
33-
local keys = dict:GetKeys()
34-
local values = dict:GetValues()
35-
36-
for i = 1, dict:GetCount() do
37-
Console.WriteLine("keyValuePair: ", keys[i], values[i])
30+
assert(e2k == "user1user2user3")
31+
assert(e2 == 6)
32+
33+
local e3 = 0
34+
local e3k = ""
35+
for k, v in each(dict) do
36+
e3k = e3k..k
37+
e3 = e3 + v
3838
end
39+
assert(e3k == "user1user2user3")
40+
assert(e3 == 6)
3941

40-
--可以用GetCount和#获取字典元素数量
4142
dict:Remove("user2")
42-
Console.WriteLine("Removed Count: ", dict:GetCount())
43+
assert(dict:GetCount() == 2)
4344
dict:Clear()

Test/Container/ListTest.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ list:Add("item2")
55
list:Add(nil)
66
list:Add("item3")
77

8-
Console.WriteLine("listCount:", list:GetCount())
8+
assert(list:GetCount() == 4)
99

1010
--可以使用三种遍历方式
1111

Test/DelegateEventsTest.lua

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,44 @@
1+
12
--委托
3+
local SetAge1Rst
4+
25
local function SetAge1(i)
3-
Console.WriteLine("setAge1:", i)
6+
SetAge1Rst = i
47
end
58
local delegate = Delegate.New(nil, SetAge1)
69
--使用Invoke调用
710
delegate:Invoke(2)
11+
assert(SetAge1Rst == 2)
812

913

1014
--实例委托
15+
local SetNumberRst
16+
1117
local TestObject = class.extends("Test.TestObject", Object)
1218
function TestObject:SetNumber(i)
13-
Console.WriteLine("SetNumber:", i)
19+
SetNumberRst = i
1420
end
1521

1622
local testObj = TestObject.New()
1723
--提供实例
1824
local delegate2 = Delegate.New(testObj, TestObject.SetNumber)
1925
delegate2:Invoke(3)
26+
assert(SetNumberRst == 3)
2027

2128

2229
--Events
30+
local EventFunRst = 0
2331
local function EventFun1()
24-
Console.WriteLine("EventFun1")
32+
EventFunRst = EventFunRst + 3
2533
end
2634

2735
local function EventFun2()
28-
Console.WriteLine("EventFun2")
36+
EventFunRst = EventFunRst + 2
2937
end
3038

3139
local event = Event.New()
3240
event:Add(nil, EventFun1)
3341
event:Add(Delegate.New(nil, EventFun2))
34-
event:Invoke()
42+
event:Invoke()
43+
44+
assert(EventFunRst == 5)

Test/EnumTest.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ local _fileType = FileType.JPG
1111

1212
local fileType = Enum.NewFlag(FileType.JPG, FileType.PNG)
1313

14-
Console.WriteLine(Enum.HasFlag(fileType, FileType.JPG)) --result: true
15-
Console.WriteLine(Enum.HasFlag(fileType, FileType.PNG)) --result: true
16-
Console.WriteLine(Enum.HasFlag(fileType, FileType.GIF)) --result: false
14+
assert(Enum.HasFlag(fileType, FileType.JPG) == true)
15+
assert(Enum.HasFlag(fileType, FileType.PNG) == true)
16+
assert(Enum.HasFlag(fileType, FileType.GIF) == false)
1717

1818
---jpgName: string
1919
local jpgName = Enum.GetName(FileType, FileType.JPG)
2020

21-
Console.WriteLine("EnumName: "..jpgName)
21+
assert(jpgName == "JPG")

Test/ExceptionTest.lua

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11

2+
local errCode = 0
23

34
local function TestFunction()
45
throw(ArgumentException.New("参数错误"))
@@ -12,30 +13,19 @@ try(function()
1213
TestFunction()
1314
end)
1415
.catch(gettype(ArgumentException), function(_e)
15-
---@type SysLib.ArgumentException
16-
local e = _e
17-
Console.WriteLine("ArgumentException")
18-
Console.WriteLine(e:ToString())
16+
errCode = 1
1917
end)
2018
.catch(gettype(IOException), function(_e)
21-
---@type SysLib.IOException
22-
local e = _e
23-
Console.WriteLine("IOException")
24-
Console.WriteLine(e:ToString())
19+
errCode = 2
2520
end)
2621
.catch(gettype(Exception), function(_e)
27-
--捕捉所有框架类型的异常
28-
---@type SysLib.Exception
29-
local e = _e
30-
Console.WriteLine("Exception")
31-
Console.WriteLine(e:ToString())
22+
errCode = 3
3223
end)
3324
.catch(function(e)
34-
--捕捉所有其他异常
35-
Console.WriteLine("other exception")
36-
Console.WriteLine(tostring(e))
25+
errCode = 4
3726
end)
3827
.finally(function()
3928
--无论是否发生异常该函数必定执行
40-
Console.WriteLine("finally function")
41-
end)
29+
end)
30+
31+
assert(errCode == 1)

Test/IOFileTest.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ File.Move("D:\\copy.txt", "D:\\copyMove.txt")
1212
--读取
1313
local str = File.ReadAllText(aFile)
1414

15-
Console.WriteLine(str)
15+
assert(str == content.."\nAppendContent")
1616

1717
File.Delete(aFile)
1818
File.Delete("D:\\copyMove.txt")

Test/IOPathTest.lua

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ local path1 = "C:\\\\Windows"
33
local path2 = "SysLib32"
44

55
local combinePath = Path.Combine(path1, path2)
6-
Console.WriteLine("CombinePath: "..combinePath)
6+
assert(combinePath == "C://Windows/SysLib32")
77

88
local path3 = "file://root"
99
local path4 = "picture"
1010
local combinePath2 = Path.Combine(path3, path4)
11-
Console.WriteLine("CombinePath2: "..combinePath2)
11+
assert(combinePath2 == "file://root/picture")
1212

1313
local filePath = "D://Picture/profile3.jpg"
14-
Console.WriteLine("GetDirectoryName: "..Path.GetDirectoryName(filePath))
15-
Console.WriteLine("GetFileName: "..Path.GetFileName(filePath))
16-
Console.WriteLine("GetFileNameWithoutExtension: "..Path.GetFileNameWithoutExtension(filePath))
17-
Console.WriteLine("GetExtension: "..Path.GetExtension(filePath))
14+
assert(Path.GetDirectoryName(filePath) == "D://Picture")
15+
assert(Path.GetFileName(filePath) == "profile3.jpg")
16+
assert(Path.GetFileNameWithoutExtension(filePath) == "profile3")
17+
assert(Path.GetExtension(filePath) == "jpg")

Test/OOPTest.lua

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,30 @@
1-
local Person = class.extends("Test.OOPTest.Person", Object)
1+
local Person = class.extends("Test.OOPTest.Person", SysLib.Object)
22
function Person:constructor(name, age)
33
self.name = name
44
self.age = age
55
end
66

7-
local Student, base= class.extends("Test.OOPTest.Student", Person)
8-
--构造函数中,前面的参数列表必须一致
7+
local Student, base = class.extends("Test.OOPTest.Student", Person)
98
function Student:constructor(name, age, score)
109
base.constructor(self, name, age)
1110
self.score = score
1211
end
1312
function Student:ToString() --override const
14-
return "name: "..self.name..", age: "..tostring(self.age)..", score: "..tostring(self.score)
13+
return string.format("name: %s, age: %s, score: %s", self.name, tostring(self.age), tostring(self.score))
1514
end
1615

17-
1816
local zhangsan = Student.New("zhangsan", 24, 100)
1917
-- Activator.CreateInstance(gettype(Student), "zhangsan", 24, 100)
2018

21-
Console.WriteLine(zhangsan:ToString())
19+
assert(zhangsan:ToString() == "name: zhangsan, age: 24, score: 100")
2220

2321
---@type Type
2422
local studentType = zhangsan:GetType()
23+
assert(studentType == gettype(Student))
24+
assert(studentType:GetName() == "Test.OOPTest.Student")
2525

26-
Console.WriteLine("Type: "..tostring(zhangsan:GetType() == gettype(Student)))
27-
Console.WriteLine("TypeName: "..studentType:GetName())
28-
29-
Console.WriteLine("Student是Person的派生类: "..tostring(studentType:IsSubclassOf(gettype(Person))))
30-
Console.WriteLine("Student是List的派生类: "..tostring(studentType:IsSubclassOf(gettype(List))))
31-
Console.WriteLine("zhangsan是Student的实例对象: "..tostring(studentType:IsInstanceOfType(zhangsan)))
32-
Console.WriteLine("zhangsan是Person的实例对象: "..tostring(gettype(Person):IsInstanceOfType(zhangsan)))
33-
Console.WriteLine("zhangsan是List的实例对象: "..tostring(gettype(List):IsInstanceOfType(zhangsan)))
26+
assert(studentType:IsSubclassOf(gettype(Person)) == true)
27+
assert(studentType:IsSubclassOf(gettype(SysLib.Collections.List)) == false)
28+
assert(studentType:IsInstanceOfType(zhangsan) == true)
29+
assert(gettype(Person):IsInstanceOfType(zhangsan) == true)
30+
assert(gettype(List):IsInstanceOfType(zhangsan) == false)

Test/SerializerTest.lua

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,8 @@ local struct = {
77
}
88
}
99
local luaSerData = Serialization.Serialize(struct)
10+
local luaDeserObj = Serialization.Deserialize(luaSerData)
1011

11-
Console.WriteLine("SerializeData: \n"..luaSerData)
12-
13-
14-
local deserObj = Serialization.Deserialize(luaSerData)
15-
Console.WriteLine("Deserialize:")
16-
Console.WriteLine(deserObj.name)
17-
Console.WriteLine(deserObj.age)
18-
Console.WriteLine(deserObj.score.english)
12+
assert(luaDeserObj.name == "jason")
13+
assert(luaDeserObj.age == 17)
14+
assert(luaDeserObj.score.english == 100)

0 commit comments

Comments
 (0)