public async Task Shoud_Get_Candidates_In_CandidateService() { var candidates = GetCandidateModelFixture(); var candidatesDTO = new List <CandidateDTO>(); candidatesDTO = candidates.Select(d => new CandidateDTO(d.FirstName, d.LastName, d.Test.Title, 3)).ToList(); var testModel = new List <TestModel>(); testModel.Add(new TestModel("c#", 1, 10)); testModel.Add(new TestModel("python", 2, 10)); testModel.Add(new TestModel(".net core", 3, 10)); var answers = new List <AnswerModel>(); answers.Add(new AnswerModel(1, 1, "1", "a", 1)); answers.Add(new AnswerModel(2, 2, "2", "b", 1)); answers.Add(new AnswerModel(3, 3, "3", "c", 1)); var mockRepository = Substitute.For <ICandidatesRepository>(); var logger = Substitute.For <ILog>(); mockRepository.GetCandidatesAsync().Returns(candidates); mockRepository.GetTestsAsync().Returns(testModel); mockRepository.GetAnswersAsync().Returns(answers); var candidateService = new CandidatesService(mockRepository, logger); var result = await candidateService.GetCandidatesAsync(); string serialize1 = JsonConvert.SerializeObject(candidatesDTO); string serialize2 = JsonConvert.SerializeObject(result); Assert.AreEqual(serialize1, serialize2); }