I am writing test case and getting compile error. Returns is not working in this below statement.
//Moq
//Error: '.' cannot be applied to operand of type 'void'. This gives error before ".Returns".
private Mock<ITestDomain> _testDomain;
//test
[TestMethod]
public void PassParams()
{
//arrange
var opentickResponse = new OpenTicketResponse();
opentickResponse.Tickets.Add(new Ticket { TickId = "ticket123"});
opentickResponse.Tickets.Add(new Ticket { TickId = "ticket456"});
_testDomain.Setup(x => x.OpenTicketing(null)).Returns(openTickResponse);
//act
var response = _target.Execute(_request);
//assert
Assert.IsNotNull(response, "response = null");
Assert.AreEqual("name", response.Ticket.Countryname);
_testDomain.Verify(x => x.OpenTicket(null)).Returns(x => (x[0] as OpenTicketRequest).phone.ID == _request.phone.ID &&
(x[0] as OpenTicketRequest).ActiveContract.IDnumber == _request.ActiveContract.IDnumber);
}
I wrote like this but this shows error. Is the Verify statement wrong?