Moq First () Last () и GetEnumerator () wierdness

Я создаю свои части маршрута из rps = new List ... (3 части маршрута)

и Moqing GetEnumerator () для моего маршрута, как показано ниже

route.Setup (ro => ro.GetEnumerator ()) .Returns (rps.GetEnumerator ());

, но Moq терпит неудачу в следующем коде со словами «Последовательность не содержит элементов» при вызове Last ()

o.Route.Any (rp => rp.IsNonTowLocation && rp! = o.Route.First () && rp! = o.Route.Last ())

Глядя на First () Last () в непосредственных окнах, я обнаружил, что значения меняются, если я выполняю First () Last () многократно. Как будто вызывается MoveNext (), но не Reset (), а Enumerable полностью сбивает с толку. Кто-нибудь испытал это с помощью Moq и нашел решение?

9
задан Spud 17 July 2011 в 23:26
поделиться