我的类具有属性 IsMacro、Value、Visible、DataType 和一种方法 GetResolvedValue。我不知道要测试什么。我做了一些数学运算,发现该方法有超过 800 个可能的输出。
enum DataTypeEnum:
Bool,
String,
DateTime,
Integer,
LongInteger,
Decimal,
...
class Macro
property bool IsMacro;
property string Value;
property bool Visible;
property DataTypeEnum DataType;
function GetResolvedValue(Resolver) {
string value = Value;
if (IsMacro && Visilbe) {
value = Resolver.resolve(value);
}
switch (DataType){
case String:
// returns value if is string e.g.: "text"
// othervise returns empty string
case Bool:
// returns value if is bool string e.g.: "true"
// othervise returns empty string
case DateTime:
// returns value if is DateTime string e.g.: "2/2/2010"
// othervise returns empty string
...
}
}
因此,它必须始终返回值对关联数据类型或空字符串有效的字符串。
使用此代码有很多组合,我不知道如何测试它。我应该测试所有可能的解决方案吗?