c# - Autofixture - 创建带余数的 float 、 double 或小数

标签 c# tdd autofixture

我如何修改 AutoFixture 的 float、double 和 decimal 的创建方法,以便在创建这些类型时它们也将有余数?

目前我这样做,但这会引发异常。

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# - Autofixture - 创建带余数的 float 、 double 或小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17672861/

相关文章:

c# - 无法掌握 Freeze/Inject/Register 之间的区别

c# - Autofixture:如何以声明的方式表达以下代码?

c# - 使用 NodaTime 的明确 DateTime 表示——这可以用更少的仪式来完成吗?

c# - List<T> 的动态类型?

ruby-on-rails - 如何配置 Guard 以跳过 Pry 提示并仅运行更改后的测试?

unit-testing - 什么是 "Stub"?

node.js - 使用 mocha 和 request 测试 mongodb 数据库

c# - 方法上的多个授权属性

c# - XAML 中图标格式的最佳实践(SVG、路径数据点、几何/XAML 或字体)

c# - AutoFixture 和接口(interface)