The following links suggest that this should work.
-
[TestFixture()] public class ResponseMessageUnitTests { private Mock<IConfiguration> _IConfigurationMoq; private Mock<ICardReader> _ICardReaderMoq; private ResponseMessage responseMessage; public ResponseMessageUnitTests() { //Act this._IConfigurationMoq = new Mock<IConfiguration>(); _IConfigurationMoq.Setup(x => x.REPEATDELAYTIME).Returns(0); _IConfigurationMoq.Setup(x => x.COLOUR_WHOLE_RESPONSE_AREA).Returns(true); this._ICardReaderMoq = new Mock<ICardReader>(); this.responseMessage = new ResponseMessage(_IConfigurationMoq.Object, _ICardReaderMoq.Object); } [Test(Description = "Calling ResponseMessage DisplayAdditionalInfo_Empty Method " + "with a Background Colour that populates the fields " + "AdditionalInfoLine[1-4] and " + "AdditionalInfoNo[1-4]")] [TestCase(BACKGROUNDCOLOURS.GOOD)] public void ResponseMessage_DisplayAdditionalInfo_Empty(string backgroundColour) { //Arrange _IConfigurationMoq.Setup(x => x.COLOUR_WHOLE_RESPONSE_AREA).Returns(true); _IConfigurationMoq.Setup(x => x.REPEATDELAYTIME).Returns(0); DisplayLine expected = new DisplayLine(_IConfigurationMoq.Object, null, null, backgroundColour); //Act responseMessage.DisplayAdditionalInfo_Empty(backgroundColour); //Assert Assert.AreEqual(expected,responseMessage.AdditionalInfoLine1); //Assert.AreEqual(expected, responseMessage.AdditionalInfoLine2); //Assert.AreEqual(expected, responseMessage.AdditionalInfoLine3); //Assert.AreEqual(expected, responseMessage.AdditionalInfoLine4); //Assert.AreEqual(expected, responseMessage.AdditionalInfoNo1); //Assert.AreEqual(expected, responseMessage.AdditionalInfoNo2); //Assert.AreEqual(expected, responseMessage.AdditionalInfoNo3); //Assert.AreEqual(expected, responseMessage.AdditionalInfoNo4); }
If I place a breakpoint on the line with the Assert.AreEqual, I get the following:
The tests fails to my surprise with the following error message:
Message: Expected: <EPIC.APIS.REST.Models.Android.DisplayLine>
But was: <EPIC.APIS.REST.Models.Android.DisplayLine>
I don't understand why... The 2 objects are of the same type and contain the same values?
<package id="NUnit" version="3.12.0" targetFramework="net462" />