前几天,一朋友问到如何处理SilkTest中参数的ANYTYPE类型的问题,其实这个很方便,用TypeOf就可以区分,后来他又问到如何区分LIST OF ANYTYPE和LIST OF LIST ANYTYPE的问题,在这两者的区分上或许存在着一点小小的技巧,而且在实际项目中也经常会遇到在一个函数用处理多种/复杂的数据类型,因此想把这段代码分享给大家,希望对大家有点用处。
函数代码:
[+]
VOID GetDataType (ANYTYPE atType)
[+] //Desc&History
[ ] //**********************************************************
[ ] // Function Name: GetDataType
[ ] // Description: The example of handling any data type
[ ] // Argument: ANYTYPE atType--Any data type
[ ] // Pre Condition: None
[ ] // Return: None
[ ] // Tester: LantianWei(
wan1314yl@126.com)
[ ] // Date: Mar 09, 2009
[ ] //
[+] // History:
[ ] // None
[ ] //***********************************************************
[ ]
[+] switch (TypeOf(atType))
[+] case LIST OF ANYTYPE
[+]
if(TypeOf(atType[1])==LIST OF ANYTYPE)
[ ] Print("The data type is LIST OF LIST OF ANYTYPE
")
[ ] //Do something as you want
[ ] //...
[+] else
[ ] Print("The data type is LIST OF ANYTYPE ")
[ ] //Do something as you want
[ ] //...
[+] case STRING
[ ] Print("The data type is STRING")
[ ] //Do something as you want
[ ] //...
[ ] //case ...
[+] default
[ ] LogError("Data type is unknown!")
使用代码:
[+] testcase test() appstate none
[+] List of ANYTYPE lat={...}
[ ] "Lantianwei"
[ ] 123
[ ] TRUE
[+] List of list of ANYTYPE llat={...}
[ ] {"aa",23,"Lantianwei"}
[ ] {123,23,66}
[ ] {TRUE}
[ ] STRING s="Lantianwei"
[ ]
[ ] GetDataType(lat)
[ ] GetDataType(llat)
[ ] GetDataType(s)