Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# TDD:带有列表的函数返回良好的值,但它';它不工作了_C#_List_Tdd - Fatal编程技术网

C# TDD:带有列表的函数返回良好的值,但它';它不工作了

C# TDD:带有列表的函数返回良好的值,但它';它不工作了,c#,list,tdd,C#,List,Tdd,我最近开始了C#项目,我要做一个名为“光线跟踪器挑战”的项目。 为此,我们需要首先进行一些测试驱动的开发,然后是编码时间。 我遇到的问题是: 需要检查的结果返回的是而不是(),因此即使值是ok,测试也无法通过 这是我的TDD代码: [测试] 加入公众作废 { var a=new List(){3.5,-2.0,5.0,1.0};//点 var b=new List(){-2.0,3.0,1.0,0.0};//点 Assert.AreEqual((a[0]+b[0],a[1]+b[1],a[2]+

我最近开始了C#项目,我要做一个名为“光线跟踪器挑战”的项目。 为此,我们需要首先进行一些测试驱动的开发,然后是编码时间。 我遇到的问题是: 需要检查的结果返回的是而不是(),因此即使值是ok,测试也无法通过

这是我的TDD代码:

[测试]
加入公众作废
{
var a=new List(){3.5,-2.0,5.0,1.0};//点
var b=new List(){-2.0,3.0,1.0,0.0};//点
Assert.AreEqual((a[0]+b[0],a[1]+b[1],a[2]+b[2],a[3]+b[3]),Addition.Add(string.Empty));
}
这是我的返回函数:

内部静态列表添加(字符串编号)
{
返回新列表{1.5,1.0,6.0,1.0};
}
结果是

Adding
   Source: UnitTest1.cs line 11
   Duration: 158 ms

  Message: 
      Expected: (1.5d, 1.0d, 6.0d, 1.0d)
      But was:  < 1.5d, 1.0d, 6.0d, 1.0d >
    
  Stack Trace: 
    Tests.Adding() line 17
有人能给我解释一下吗?
PS:我知道测试一个加法并不值得,我主要是在基本的东西上进行训练。

你的断言比较如下:
(a[0]+…+b[3])
这是一个元组,这是一个:
新列表(){3.5,…1.0}
这是一个列表

由于它们是不同的集合类型,因此比较无法按预期进行

使用
列表
作为断言期望值:

Assert.AreEqual(new List<double> { a[0] + ... + b[3]}, Addition.Add(string.Empty));

您的断言比较了以下内容:
(a[0]+…+b[3])
这是一个元组,而这:
newlist(){3.5,…1.0}
这是一个列表

由于它们是不同的集合类型,因此比较无法按预期进行

使用
列表
作为断言期望值:

Assert.AreEqual(new List<double> { a[0] + ... + b[3]}, Addition.Add(string.Empty));

我猜您的问题与浮点比较舍入错误有关:您期望的表达式是元组,而结果是列表。你不能直接比较它们。您还需要一个列表,或者在Addion.Add()中返回一个元组,或者单独比较每个元素。我猜您的问题与浮点比较舍入错误有关:您需要的表达式是元组,而结果是列表。你不能直接比较它们。您还需要一个列表,或者在Addion.Add()中返回一个元组,或者单独比较每个元素。非常感谢,问题解决了!非常感谢,问题解决了!