如何修改浮点数, double 数和十进制数的AutoFixture创建方法,以便在创建这些类型时它们也会有余数?

目前,我正在执行此操作,但这会引发异常。

var fixture = new Fixture();
fixture.Customize<double>(sb => sb.FromFactory<double>(d => d * 1.33));   //This should add remainder
var value = fixture.Create<double>();

最佳答案

实际上,尝试通过使用相同类型(double)的值来重新定义类型(double)将确实产生无限递归。不过,您可以通过将种子输入更改为另一种类型(例如,一个int:

var fixture = new Fixture();
fixture.Customize<double>(c => c.FromFactory<int>(i => i * 1.33));
var value = fixture.Create<double>();

现在, double 也趋向于具有分数值。

关于c# - 自动固定-使用浮点数,双数或小数创建余数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17672861/

10-09 13:47