1

The following code should mock two objects with different Email properties. But instead I get two objects with the same Email properties. Why?

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);
}
Bogdan Verbenets
  • 25,686
  • 13
  • 66
  • 119

1 Answers1

0

Use Mock class instead of 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);
Bogdan Verbenets
  • 25,686
  • 13
  • 66
  • 119