本文介绍了如何在fakeit Easy单元测试中比较两个列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用 var fake = -keyword> new SystemUnderTest.AutoFakeContainer()){
List< Employee> emplist = new 列表< Employee>();
emplist.Add( new 员工{Name = Emp_1,BasicSalary = 1000 ,Id = Guid.NewGuid(),HRA = 100 ,DA = 10 ,TotalSalary = 1110 });
emplist.Add( new 员工{Name = Emp_2,BasicSalary = 1000 * 2 ,Id = Guid.NewGuid() ,HRA = 200 ,DA = 20 ,TotalSalary = 2220 });
emplist.Add( new 员工{Name = Emp_3,BasicSalary = 1000 * 3 ,Id = Guid.NewGuid() ,HRA = 300 ,DA = 30 ,TotalSalary = 3330 });
var empRep = new EmployeeRepository();
var support = fake.Resolve< ISupport>();
var CalSalary = fake.Resolve< ICalSalaryClass>();
A.CallTo(()= > support.FindAllEmp())。返回(emplist);
A.CallTo(()= > CalSalary.CalculateSalary( 100 ))。WithAnyArguments ().Returns(emplist);
var result = empRep.CallSupportFindAll();
// CollectionAssert.AreEqual(emplist,result);
Assert.AreEqual(emplist,result);
var r1 =结果[ 0 ];
Assert.AreEqual(r1.Name,emplist [ 0 ]。姓名);
Assert.AreEqual(r1.TotalSalary,emplist [ 0 ]。TotalSalary);
Assert.AreEqual(r1.BasicSalary,emplist [ 0 ]。BasicSalary);
}
我想要比较从方法callSupportfindAll()返回的两个列表emplist和结果列表。这里是Assert.AreEqual(r1.Name,emplist [0] .Name);工作,但如果我们有成千上万的记录,那么需要写几千行。所以请回答 - 一行代码比较两个列表...提前感谢
解决方案
using (var fake = new SystemUnderTest.AutoFakeContainer()) { List<Employee> emplist = new List<Employee>(); emplist.Add(new Employee { Name = "Emp_1", BasicSalary = 1000, Id = Guid.NewGuid(), HRA = 100, DA = 10, TotalSalary = 1110 }); emplist.Add(new Employee { Name = "Emp_2", BasicSalary = 1000 * 2, Id = Guid.NewGuid(), HRA = 200, DA = 20, TotalSalary = 2220 }); emplist.Add(new Employee { Name = "Emp_3", BasicSalary = 1000 * 3, Id = Guid.NewGuid(), HRA = 300, DA = 30, TotalSalary = 3330 }); var empRep = new EmployeeRepository(); var support = fake.Resolve<ISupport>(); var CalSalary = fake.Resolve<ICalSalaryClass>(); A.CallTo(() => support.FindAllEmp()).Returns(emplist); A.CallTo(() => CalSalary.CalculateSalary(100)).WithAnyArguments().Returns(emplist); var result = empRep.CallSupportFindAll(); // CollectionAssert.AreEqual(emplist, result); Assert.AreEqual(emplist, result); var r1 = result[0]; Assert.AreEqual(r1.Name, emplist[0].Name); Assert.AreEqual(r1.TotalSalary, emplist[0].TotalSalary); Assert.AreEqual(r1.BasicSalary, emplist[0].BasicSalary); }
I want to compare two list emplist and result list which is return from method callSupportfindAll(). here Assert.AreEqual(r1.Name, emplist[0].Name); worked but if we have thousands of record then need to write thousands of line. so please answer-- for one line code for compare two list... thanks in advance
解决方案
这篇关于如何在fakeit Easy单元测试中比较两个列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!