Comme je comprends, a ordonné des affirmations dans FakeItEasy 2 sont faites comme ça (des docs):OrderedAssertions boucle Howto dans FakeItEasy 2
// Assert
A.CallTo(() => unitOfWorkFactory.BeginWork()).MustHaveHappened()
.Then(A.CallTo(() => usefulCollaborator.JustDoIt()).MustHaveHappened())
.Then(A.CallTo(() => unitOfWork.Dispose()).MustHaveHappened());
Maintenant, supposons que j'ai une collection et pour chaque élément dans cette collection I vouloir affirmer qu'un appel a été fait à un objet falsifié. Quelle est la meilleure approche pour affirmer que les appels ont été faits dans le bon ordre?
je suis venu avec, mais ne sont pas vraiment comme ça:
IOrderableCallAssertion ioca = null;
foreach (var item in items.OrderBy(i => i.Id)
{
var itemUnderTest = item;
if (ioca == null)
{
ioca = A.CallTo(() => fakeObject.Handle(itemUnderTest, otherArgument)).MustHaveHappened(Repeated.Exactly.Once);
}
else
{
ioca = ioca.Then(A.CallTo(() => fakeObject.Handle(itemUnderTest, otherArgument)).MustHaveHappened(Repeated.Exactly.Once));
}
}