Как смоделировать вызов метода, который принимает динамический объект
Скажем, у меня есть следующее:
<code>public interface ISession { T Get<T>(dynamic filter); } } </code>
И у меня есть следующий код, который я хочу проверить:
<code>var user1 = session.Get<User>(new {Name = "test 1"}); var user2 = session.Get<User>(new {Name = "test 2"}); </code>
Как бы я посмеялся над этим звонком?
Используя Moq, я устал делать это:
<code>var sessionMock = new Mock<ISession>(); sessionMock.Setup(x => x.Get<User>(new {Name = "test 1")).Returns(new User{Id = 1}); sessionMock.Setup(x => x.Get<User>(new {Name = "test 1")).Returns(new User{Id = 2}); </code>
И это не сработало. Возвращенные результаты являются нулевыми
Я также попытался сделать следующее с Rhino Mocks:
<code>var session = MockRepository.GenerateStub<ISession>(); session.Stub(x => x.Get<User>(new {Name = "test 1"})).Return(new User{Id=1}); </code>
Не повезло тоже. Снова ноль.
Так как бы я это сделал?
Спасибо,