Я пытаюсь издеваться над методом, который принимает два параметра int и out параметра bool. Я могу правильно настроить его при первом вызове, и он возвращает правильное значение и возвращаемое значение. Однако при попытке вызвать тот же метод во второй раз он не вызывает моего делегата. Любая идея, что здесь не так:
Что я пробовал:
mock.GetRows(Arg.Is<int>(10), out moreRows).Returns(x =>
{
if (first)
{
first = false;
x[1] = true;
return new object[][] { new object[] { null, "Collêction Namê" }, new object[] { null, "Collêction Name" }, new object[] { null, "COllection Name" } };
}
else
{
x[1] = false;
return new object[][] { new object[] { collectionId, "Collection Name" } };
}
});
Я тоже пробовал это:
mock.GetRows(Arg.Is<int>(10), out moreRows).Returns(
x =>
{
first = false;
x[1] = true;
return new object[][] { new object[] { null, "Collêction Namê" }, new object[] { null, "Collêction Name" }, new object[] { null, "COllection Name" } };
},
x=>
{
x[1] = false;
return new object[][] { new object[] { collectionId, "Collection Name" } };
});
Однако это работает:
.ReturnsForAnyArgs(x =>
{
if (first)
{
first = false;
x[1] = true;
return new object[][] { new object[] { null, "Collêction Namê" }, new object[] { null, "Collêction Name" }, new object[] { null, "COllection Name" } };
}
else
{
x[1] = false;
return new object[][] { new object[] { collectionId, "Collection Name" } };
}
});