public async void GetSegmentedMessagesOk(Message[] messages) { // Arrange var mock = new Mock <IMessageRepository>(); int size = 2, index = 2; mock.Setup(rep => rep.GetAllMessagesAsync(size, index)) .Returns(() => Task <IEnumerable <Message> > .Run(() => { List <Message> ls = new List <Message>(); ls.Add(messages[2]); ls.Add(messages[3]); return(ls.AsEnumerable <Message>()); })); mock.Setup(rep => rep.LongCountAsync()).Returns(() => Task <long> .Run(() => 2L)); MessageController controller = new MessageController(mock.Object); // Act OkObjectResult result = await controller.GetAllMessages( size : size, index : index) as OkObjectResult; SegmentedItems <Message> model = result?.Value as SegmentedItems <Message>; // Assert Assert.Equal((int?)HttpStatusCode.OK, result?.StatusCode); Assert.True(model?.Count == 2); Assert.Equal(messages[2], model?.Items?.ToArray <Message>()[0], Comparer.Get <Message>((m1, m2) => m1.Id == m2.Id)); Assert.Equal(messages[3], model?.Items?.ToArray <Message>()[1], Comparer.Get <Message>((m1, m2) => m1.Id == m2.Id)); }
public async void GetSegmentedInformation(Message[] messages) { // Arrange var mock = new Mock <IMessageRepository>(); int size = 3, index = 2; mock.Setup(rep => rep.GetAllMessagesAsync(size, index)) .Returns(() => Task <IEnumerable <Message> > .Run(() => { List <Message> ls = new List <Message>(); ls.Add(messages[2]); ls.Add(messages[3]); return(ls.AsEnumerable <Message>()); })); mock.Setup(rep => rep.LongCountAsync()).Returns(Task <Message> .Run(() => messages.LongCount())); MessageController controller = new MessageController(mock.Object); // Act OkObjectResult result = await controller.GetAllMessages( size : size, index : index) as OkObjectResult; SegmentedItems <Message> model = result?.Value as SegmentedItems <Message>; // Assert Assert.Equal(messages.LongCount(), model?.Count); Assert.Equal(index, model?.Index); Assert.Equal(size, model?.Size); }
public async void GetAllMessagesOk(Message[] messages) { // Arrange var mock = new Mock <IMessageRepository>(); mock.SetupSequence(rep => rep.GetAllMessagesAsync(It.IsAny <int>(), It.IsAny <int>())) .Returns(() => Task <IEnumerable <Message> > .Run(() => messages.AsEnumerable <Message>())); MessageController controller = new MessageController(mock.Object); // Act OkObjectResult result = await controller.GetAllMessages() as OkObjectResult; SegmentedItems <Message> model = result?.Value as SegmentedItems <Message>; // Assert Assert.Equal((int?)HttpStatusCode.OK, result.StatusCode); Assert.Equal(messages, model.Items, Comparer.Get <Message>((m1, m2) => m1.Id == m2.Id)); }