Итак, я пытаюсь вернуть mocked-тип из другого Mocked-типа, я добился некоторого прогресса, но застрял здесь (имена интерфейсов были упрощены)
Рассмотрим интерфейс IFoo и IFooItem. Вызов Add для типа IFoo, передача IBar возвращает IFooItem
interface IFoo
{
IFooItem Add(IBar bar);
}
interface IFooItem
{
int fooItemId {get; set;}
}
Также у меня есть IFooRepository, который я пытаюсь использовать для имитации Moq, чтобы я мог имитировать добавление элемента.
Итак,
var mockFooRepository = new Mock<IFooRepository>();
mockFooRepository.Setup(m=> m.Add(It.IsAny<IBar>()))
.Returns(
// What is the correct way to mock properties of a new IFooItem from
// mocked properties of IBar
// essentially a new mocked type of IFooItem that can read from IBar
// so IFooItem.Property = somevalue, IFooItem.Property2 = IBar.SomeProp
);