Всегда есть статичный поддельный объект, но этот вопрос касается насмешек-носорогов, поэтому я представляю вам, как я это сделаю.
Хитрость заключается в том, что вы создаете локальную переменную в качестве счетчика и используете ее в своем анонимном делегате / лямбде, чтобы отслеживать, где вы находитесь в массиве. Обратите внимание, что я не обработал случай, когда GetValue () вызывается более 6 раз.
var meas = new int[] { 3, 6, 9, 12, 15, 18 };
using (mocks.Record())
{
int forMockMethod = 0;
SetupResult.For(mocked_class.GetValue()).Do(
new Func<int>(() => meas[forMockMethod++])
);
}
using(mocks.Playback())
{
foreach (var i in meas)
Assert.AreEqual(i, mocked_class.GetValue());
}