Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }