Как смоделировать вызов метода, который принимает динамический объект

Скажем, у меня есть следующее:

<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>

Не повезло тоже. Снова ноль.

Так как бы я это сделал?

Спасибо,

Ответы на вопрос(3)

Ваш ответ на вопрос