C# ';列表<;选择>';不包含';ChoiceId';并且没有扩展…是否缺少using指令或程序集引用?)
标题只是错误的一部分,以下是众多错误之一: “List”不包含“ChoiceId”的定义,并且找不到接受“List”类型的第一个参数的扩展方法“ChoiceId”(是否缺少using指令或程序集引用?) 我正试图对一份还款计划清单进行单元测试,如下所述。但我似乎无法获取该列表中的其余值,因为我在这些键下面有红色下划线错误(我在下面的单元测试中用****包装了这些键。我做错了,不知道如何解决它) 仍然在学习编程,希望你们能以正确的方式指导我。非常感谢你们的帮助 以下是我所拥有的: 型号:C# ';列表<;选择>';不包含';ChoiceId';并且没有扩展…是否缺少using指令或程序集引用?),c#,.net,unit-testing,C#,.net,Unit Testing,标题只是错误的一部分,以下是众多错误之一: “List”不包含“ChoiceId”的定义,并且找不到接受“List”类型的第一个参数的扩展方法“ChoiceId”(是否缺少using指令或程序集引用?) 我正试图对一份还款计划清单进行单元测试,如下所述。但我似乎无法获取该列表中的其余值,因为我在这些键下面有红色下划线错误(我在下面的单元测试中用****包装了这些键。我做错了,不知道如何解决它) 仍然在学习编程,希望你们能以正确的方式指导我。非常感谢你们的帮助 以下是我所拥有的: 型号: 使用Sy
使用System.Collections.Generic;
名称空间项目.模型
{
公营还款
{
公共整数金额{get;set;}
公共字符串DueDate{get;set;}
公共字符串还款ID{get;set;}
}
公共阶级选择
{
公共字符串选项ID{get;set;}
公共列表还款{get;set;}
}
公共类还款计划
{
公共列表选项{get;set;}
}
}
存储库:
使用System.Collections.Generic;
使用System.Linq;
使用项目模型;
Net系统;
使用System.Collections.Specialized;
使用系统文本;
名称空间项目.Repositories
{
公共类OrderRepository
{
私人静态列表_还款计划;
静态OrderRepository()
{
_还款计划=新列表();
_还款计划。添加(新的还款计划
{
选项=新列表
{
新选择
{
ChoiceId=“cho1”,
还款=新列表
{
新还款
{
金额=200,
DueDate=“2018-06-01”
},
新还款
{
金额=100,
DueDate=“2018-08-01”,
}
}
},
新选择
{
ChoiceId=“cho2”,
还款=新列表
{
新还款
{
还款ID=“Choice1”,
金额=300,
DueDate=“2018-10-01”
},
新还款
{
还款ID=“Choice2”,
金额=150,
DueDate=“2018-11-01”
},
}
}
},
});
}
*单元测试*
[Test]
public void ListRepaymentPlan()
{
// Arrange
var controller = new CaseController();
var expectedResult = new List<RepaymentPlan>();
var repaymentPlan = new RepaymentPlan()
{
Choices = new List<Choice>
{
new Choice
{
ChoiceId = "cho1",
Repayments = new List<Repayment>
{
new Repayment
{
Amount = 200,
DueDate = "2018-06-01"
},
new Repayment
{
Amount = 100,
DueDate = "2018-08-01"
},
}
},
new Choice
{
ChoiceId = "cho2",
Repayments = new List<Repayment>
{
new Repayment
{
RepaymentId = "Choice1",
Amount = 300,
DueDate = "2018-10-01"
},
new Repayment
{
RepaymentId = "Choice2",
Amount = 150,
DueDate = "2018-11-01"
},
}
}
},
};
expectedResult.Add(RepaymentPlan );
// Act
var actionResult = controller.FindRepaymentPlan("578", "156");
var result = (List<RepaymentPlan >)actionResult;
// Assert
for (var i = 0; i < result.Count; i++)
{
Assert.AreEqual(expectedResult[i].Choices , result[i].Choices);
Assert.AreEqual(expectedResult[i].Choices.**ChoiceId**, result[i].Choices.**ChoiceId**);
Assert.AreEqual(expectedResult[i].Choices.**ChoiceId**.Repayments, result[i].Choices.**ChoiceId**.Repayments);
Assert.AreEqual(expectedResult[i].Choices.**Repayments**.Amount, result[i].Choices.**Repayments**.Amount);
Assert.AreEqual(expectedResult[i].Choices.**Repayments**.DueDate, result[i].Choices.**Repayments**.DueDate);
}
}
[测试]
公开作废清单还款计划()
{
//安排
var controller=new CaseController();
var expectedResult=新列表();
var还款计划=新还款计划()
{
选项=新列表
{
新选择
{
ChoiceId=“cho1”,
还款=新列表
{
新还款
{
金额=200,
DueDate=“2018-06-01”
},
新还款
{
金额=100,
DueDate=“2018-08-01”
},
}
},
新选择
{
ChoiceId=“cho2”,
还款=新列表
{
新还款
{
还款ID=“Choice1”,
金额=300,
DueDate=“2018-10-01”
},
新还款
{
归还
using System.Collections.Generic;
using System.Linq;
using Project.Models;
using System.Net;
using System.Collections.Specialized;
using System.Text;
namespace Project.Repositories
{
public class OrderRepository
{
private static List<RepaymentPlan> _RepaymentPlan;
static OrderRepository()
{
_RepaymentPlan = new List<RepaymentPlan>();
_RepaymentPlan.Add(new RepaymentPlan
{
Choices = new List<Choice>
{
new Choice
{
ChoiceId = "cho1",
Repayments = new List<Repayment>
{
new Repayment
{
Amount = 200,
DueDate = "2018-06-01"
},
new Repayment
{
Amount = 100,
DueDate = "2018-08-01",
}
}
},
new Choice
{
ChoiceId = "cho2",
Repayments = new List<Repayment>
{
new Repayment
{
RepaymentId = "Choice1",
Amount = 300,
DueDate = "2018-10-01"
},
new Repayment
{
RepaymentId = "Choice2",
Amount = 150,
DueDate = "2018-11-01"
},
}
}
},
});
}
[Test]
public void ListRepaymentPlan()
{
// Arrange
var controller = new CaseController();
var expectedResult = new List<RepaymentPlan>();
var repaymentPlan = new RepaymentPlan()
{
Choices = new List<Choice>
{
new Choice
{
ChoiceId = "cho1",
Repayments = new List<Repayment>
{
new Repayment
{
Amount = 200,
DueDate = "2018-06-01"
},
new Repayment
{
Amount = 100,
DueDate = "2018-08-01"
},
}
},
new Choice
{
ChoiceId = "cho2",
Repayments = new List<Repayment>
{
new Repayment
{
RepaymentId = "Choice1",
Amount = 300,
DueDate = "2018-10-01"
},
new Repayment
{
RepaymentId = "Choice2",
Amount = 150,
DueDate = "2018-11-01"
},
}
}
},
};
expectedResult.Add(RepaymentPlan );
// Act
var actionResult = controller.FindRepaymentPlan("578", "156");
var result = (List<RepaymentPlan >)actionResult;
// Assert
for (var i = 0; i < result.Count; i++)
{
Assert.AreEqual(expectedResult[i].Choices , result[i].Choices);
Assert.AreEqual(expectedResult[i].Choices.**ChoiceId**, result[i].Choices.**ChoiceId**);
Assert.AreEqual(expectedResult[i].Choices.**ChoiceId**.Repayments, result[i].Choices.**ChoiceId**.Repayments);
Assert.AreEqual(expectedResult[i].Choices.**Repayments**.Amount, result[i].Choices.**Repayments**.Amount);
Assert.AreEqual(expectedResult[i].Choices.**Repayments**.DueDate, result[i].Choices.**Repayments**.DueDate);
}
}
// Assert
for (var i = 0; i < result.Count; i++)
{
CollectionAssert.AreEqual(expectedResult[i].Choices, result[i].Choices);
CollectionAssert.AreEqual(expectedResult[i].Choices[0].ChoiceId, result[i].Choices[0].ChoiceId);
CollectionAssert.AreEqual(expectedResult[i].Choices[0].Repayments, result[i].Choices[0].Repayments);
CollectionAssert.AreEqual(expectedResult[i].Choices, result[i].Choices);
CollectionAssert.AreEqual(expectedResult[i].Choices[1].ChoiceId, result[i].Choices[1].ChoiceId);
CollectionAssert.AreEqual(expectedResult[i].Choices[1].Repayments, result[i].Choices[1].Repayments);
}
expectedResult[i].Choices[0].ChoiceId
CollectionAssert.AreEqual(expectedResult, result);