2013-06-05 1 views
1

Следующий код должен издеваться над двумя объектами с разными свойствами электронной почты. Но вместо этого я получаю два объекта с одинаковыми свойствами электронной почты. Зачем?Почему эти издеваемые объекты равны, хотя настроены по-разному?

using (var autoMock = AutoMock.GetStrict()) 
{ 
    var contact1 = autoMock.Mock<IContact>(); 
    contact1.SetupGet(x => x.Email).Returns("a"); 

    var contact2 = autoMock.Mock<IContact>(); 
    contact2.SetupGet(x => x.Email).Returns("b"); 

    Assert.AreNotEqual(contact1.Object.Email, contact2.Object.Email); 
} 

ответ

0

Использование Mock класс вместо AutoMock:

var contact1 = new Mock<IContact>(); 
contact1.SetupGet(x => x.Email).Returns(DefaultEmail1); 

var contact2 = new Mock<IContact>(); 
contact2.SetupGet(x => x.Email).Returns(DefaultEmail2); 

Assert.AreNotEqual(contact1.Object.Email, contact2.Object.Email); 
Смежные вопросы