私はラムダ式で初めて作業し、これを行う方法を理解しようとしています。私はすでにこのテストファイルに存在するパターンに従っていますが、私の呼び出しには複雑な複雑さがあります。それぞれのオブジェクトの内部を見て、その時点で提供されるIDを持つものすべてを選択する必要があります。テスト。問題は、こののみを検索し、表面レベルのオブジェクトであるラムダ式を使用して一致するIDを持つすべてのオブジェクトを見つけよう
myobject.cs
public class myObject
{
public myObject()
{
this.id = Guid.Empty;
this.poolId = Guid.Empty;
this.name = string.Empty;
this.URL = string.Empty;
}
public Guid id { get; set; }
public Guid poolId { get; set; }
public string name { get; set; }
public string URL { get; set; }
}
testfile.cs
Mock<IMyObjectRepository> mock = new Mock<IMyObjectRepository>(MockBehavior.Strict);
List<myObject> objects = new List<myObject>();
mock.Setup(r => r.LoadByPoolId(It.IsAny<Guid>()))
.Returns<IEnumerable<myObject>>(objList => objects.Where(obj => objList.Contains(obj.id));
、それはオブジェクトのプロパティを検索しません。一致するIDを持つmyObjects
をすべて選択すると欠けている部分は何ですか?
リポジトリインタフェース
public interface IMyObjectRepository
{
void Put(myObject object)
void Delete(Guid appId);
myObject Load(Guid appId)
IEnumerable<myObject> LoadByPoolId(Guid poolId);
}
は嘲笑されているクラス/インタフェースの定義を表示します。あなたの現在のコードから、それが何であるかを推測しています。問題を再現するために使用できる[mcve]を提供してください。 – Nkosi
私は本当に助けになるとは思っていなかったので私はそれを含めなかったが、そこに行く! – jlee