public async Task <JobDetailsViewModel> GetJobDetailsViewModel(int id) { var job = await jobServices.GetById(id); var candidates = await candidateServices.GetAll(); var scoredCandidates = CandidateFinderHelper.GetMatchingCandidates(candidates, job.Skills, MAX_CANDIDATE_COUNT); var viewModel = new JobDetailsViewModel { Job = job, Candidates = scoredCandidates.ToList() }; return(viewModel); }
public void OneMatchingSkillReturnScoreGreaterThan0() { var jobSkill = new List <string> { "skill-job-1" }; var candidateSkill = new List <string> { "skill-job-1" }; var skillResult = CandidateFinderHelper.GetSkillScore(jobSkill.ToWeightedSkillList(), candidateSkill.ToWeightedSkillList()); Assert.Greater(skillResult.Score, 0); }
public void OneMatchingSkillReturnMatchingCountEqualOne() { var jobSkill = new List <string> { "skill-job-1" }; var candidateSkill = new List <string> { "skill-job-1" }; var skillResult = CandidateFinderHelper.GetSkillScore(jobSkill.ToWeightedSkillList(), candidateSkill.ToWeightedSkillList()); Assert.AreEqual(skillResult.MatchCount, 1); }
public void DuplicateSkillShouldBeTakenOnlyOnce() { var jobSkill = new List <string> { "skill-job-1" }; var candidateSkill = new List <string> { "skill-job-1", "skill-job-1" }; var skillResult = CandidateFinderHelper.GetSkillScore(jobSkill.ToWeightedSkillList(), candidateSkill.ToWeightedSkillList()); Assert.AreEqual(skillResult.MatchCount, 1); }
public void NoMatchingSkillReturnScore0() { var jobSkill = new List <string> { "skill-job-1", "skill-job-2" }; var candidateSkill = new List <string> { "skill-1", "skill-2" }; var skillResult = CandidateFinderHelper.GetSkillScore(jobSkill.ToWeightedSkillList(), candidateSkill.ToWeightedSkillList()); Assert.AreEqual(skillResult.Score, 0); }