![](/img/trans.png)
[英]Fluent Assertions: Approximately compare two 2D rectangular arrays
[英]Fluent Assertions: Compare two numeric collections approximately
我有两个double数组。 有没有办法使用FluentAssertions使用.BeApproximately()技术逐个元素地比较数组?
一个范围值足以满足整个阵列的要求。
例:
double[] source = { 10.01, 8.01, 6.01 };
double[] target = { 10.0, 8.0, 6.0 };
// THE FOLLOWING IS NOT IMPLEMENTED
target.Should().BeApproximately(source, 0.01);
有替代方法吗?
泛型集合断言有一个重载,它带有一个Func,您可以在比较期间使用它来应用任何谓词。 有了这个,你可以这样做:
source.Should().Equal(target, (left, right) => AreEqualApproximately(left, right, 0.01));
您唯一需要做的就是自己创建该方法。
我知道比较列表更可取,但您可以迭代它并单独比较它们。 我现在无法测试代码,但以下内容应该有效...
double[] source = { 10.01, 8.01, 6.01 };
double[] target = { 10.0, 8.0, 6.0 };
for(var i=0; i<source.Length; i++)
target[i].Should().BeApproximately(source[i], 0.01)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.