public void GetDataByProjectIdPageableTest() { PagedResult <Project_Connection> expectedResult; _repository .Setup(it => it.GetDataByProjectIdPageable(It.IsAny <Int32>(), It.IsAny <String>(), It.IsAny <Int32>(), It.IsAny <Int32>())) .Returns <Int32, String, Int32, Int32>((projectId, sortExpression, page, pageSize) => { var query = _repositoryList.Where(x => x.ProjectId == projectId); switch (sortExpression) { case "ProjectId": query = new List <Project_Connection>(query.OrderBy(q => q.ProjectId)); break; case "ConnectionId": query = new List <Project_Connection>(query.OrderBy(q => q.ConnectionId)); break; } return(query.Take(pageSize).Skip((page - 1) * pageSize).ToList()); }); _repository .Setup(it => it.GetDataByProjectIdRowCount(projectId)) .Returns(_repositoryList.Count); var result = _target.GetDataByProjectIdPageable(ProjectIdValue, "ProjectId", 1, 2); Assert.IsTrue(result.TryGetContentValue(out expectedResult)); Assert.AreEqual(_repositoryList.Where(x => x.ProjectId == projectId).Take(2).ToList().Count, expectedResult.Results.Count); Assert.AreEqual(_repositoryList.Where(x => x.ProjectId == projectId).OrderBy(q => q.ProjectId).FirstOrDefault().ProjectId, expectedResult.Results.FirstOrDefault().ProjectId); }