0
想象我有这样一个类:函数引用的赋值如何进行单元测试?
type TFunctionWrapper<T1,T2> = class
private
FFunc : TFunc<T1,T2>;
public
constructor Create(AFunc : TFunc<T1,T2>);
function Apply(AValue : T1) : T2;
end;
与实施
constructor TFunctionWrapper<T1,T2>.Create(AFunc : TFunc<T1,T2>);
begin
FFunc := AFunc;
end;
function TFunctionWrapper<T1,T2>.Apply(AValue : T1) : T2;
begin
Result := FFunc(AValue);
end;
如何测试,如果分配的功能是一样的吗?函数引用不能与F1 = F2
相提并论,因为它导致一个编译器错误:
[dcc32 Error] Project1.dpr(37): E2035 Not enough actual parameters
,
这使得相当不错的感觉。
无论如何,问题仍然存在:如何测试是否将函数赋值给字段按预期工作,而不仅仅测试字段和函数是否在相同输入上返回相同结果?