Exemple #1
0
        public void ShouldSetScore()
        {
            // arrange
            var skill            = new Skill("C#");
            var skillEvaluator   = new Employee(100, "Jane Doe").SkillEvaluator;
            var targetLevel      = SkillLevel.Advanced;
            var currentLevel     = SkillLevel.Average;
            var evaluatee        = new Employee(101, "John Doe").Evaluatee;
            var evaluationPeriod = new EvaluationPeriod(TimeZoneInfo.Local, new DateTime(DateTime.Today.Year, 1, 1), new DateTime(DateTime.Today.Year, 12, 31));
            var evaluation       = new Evaluation(evaluatee, evaluationPeriod);
            var skillGoal        = new SkillGoal(skill, skillEvaluator, targetLevel, currentLevel, evaluation);
            var skillScore       = new SkillScore(skillGoal);

            skillEvaluator.AddNewSkillGoal(skill, skillEvaluator, targetLevel, currentLevel, evaluation);

            // act
            var skillLevelAchieved = SkillLevel.Advanced;

            skillScore.SetScore(skillLevelAchieved, 10, "Excelsior!!!");

            // assert
            Assert.Equal(10, skillScore.Score);
            Assert.Equal(currentLevel, skillEvaluator.SkillGoals.First().InitialSkillLevel.PersonalSkill.SkillLevel);
            Assert.Equal(skillLevelAchieved, skillScore.AchievedSkillLevel.PersonalSkill.SkillLevel);
        }
        public void ShouldThrowArgumentNullExceptionWhenCreatingInstanceIfEvaluatorIsNull()
        {
            // arrange
            var evaluationPeriod = new EvaluationPeriod(TimeZoneInfo.Local, new DateTime(DateTime.Today.Year, 1, 1), new DateTime(DateTime.Today.Year, 12, 31));

            // act
            void action() => new TrackingPoint(null, evaluationPeriod, DateTime.Today);

            // assert
            Assert.Throws <ArgumentNullException>(action);
        }
        public void ShouldCreateInstance()
        {
            // arrange

            // act
            var result = new EvaluationPeriod(TimeZoneInfo.Local, new DateTime(DateTime.Today.Year, 1, 1), new DateTime(DateTime.Today.Year, 12, 31));

            // assert
            Assert.Equal(TimeZoneInfo.Local, result.TimeZoneInfo);
            Assert.Equal(new DateTime(DateTime.Today.Year, 1, 1), result.StartDate);
            Assert.Equal(new DateTime(DateTime.Today.Year, 12, 31), result.EndDate);
        }
        public void ShouldThrowArgumentNullExceptionWhenCreatingInstanceIfPersonalSkillIsNull()
        {
            // arrange
            var skillEvaluator   = new Employee(100, "Jane Doe").SkillEvaluator;
            var evaluationPeriod = new EvaluationPeriod(TimeZoneInfo.Local, new DateTime(DateTime.Today.Year, 1, 1), new DateTime(DateTime.Today.Year, 12, 31));
            var trackingPoint    = new TrackingPoint(skillEvaluator, evaluationPeriod, DateTime.Today);

            // act
            void action() => new SkillSnapshot(trackingPoint, null);

            // assert
            Assert.Throws <ArgumentNullException>(action);
        }
Exemple #5
0
        public void ShouldAddNewEvaluation()
        {
            // arrange
            var evaluatee        = new Employee(101, "John Doe").Evaluatee;
            var evaluationPeriod = new EvaluationPeriod(TimeZoneInfo.Local, new DateTime(DateTime.Today.Year, 1, 1), new DateTime(DateTime.Today.Year, 12, 31));

            // act
            var result = evaluatee.AddNewEvaluation(evaluationPeriod);

            // assert
            Assert.Equal(OperationStatusCode.Success, result.OperationStatusCode);
            Assert.Single(evaluatee.Evaluations);
        }
        public void ShouldAddNewTrackingPoint()
        {
            // arrange
            var skillEvaluator   = new Employee(100, "Jane Doe").SkillEvaluator;
            var evaluationPeriod = new EvaluationPeriod(TimeZoneInfo.Local, new DateTime(DateTime.Today.Year, 1, 1), new DateTime(DateTime.Today.Year, 12, 31));

            // act
            var result = skillEvaluator.AddNewTrackingPoint(evaluationPeriod, DateTime.Today);

            // assert
            Assert.Equal(OperationStatusCode.Success, result.OperationStatusCode);
            Assert.Single(skillEvaluator.TrackingPoints);
        }
        public void ShouldCreateInstance()
        {
            // arrange
            var evaluatee        = new Employee(101, "John Doe").Evaluatee;
            var evaluationPeriod = new EvaluationPeriod(TimeZoneInfo.Local, new DateTime(DateTime.Today.Year, 1, 1), new DateTime(DateTime.Today.Year, 12, 31));

            // act
            var result = new Evaluation(evaluatee, evaluationPeriod);

            // assert
            Assert.Equal(evaluatee, result.Evaluatee);
            Assert.Equal(evaluationPeriod, result.EvaluationPeriod);
            Assert.NotNull(result.SkillGoals);
        }
        public void ShouldCreateInstance()
        {
            // arrange
            var skillEvaluator   = new Employee(100, "Jane Doe").SkillEvaluator;
            var evaluationPeriod = new EvaluationPeriod(TimeZoneInfo.Local, new DateTime(DateTime.Today.Year, 1, 1), new DateTime(DateTime.Today.Year, 12, 31));

            // act
            var result = new TrackingPoint(skillEvaluator, evaluationPeriod, DateTime.Today);

            // assert
            Assert.Equal(skillEvaluator, result.Owner);
            Assert.Equal(evaluationPeriod, result.EvaluationPeriod);
            Assert.Equal(DateTime.Today, result.Date);
            Assert.NotNull(result.SkillSnapshots);
        }
Exemple #9
0
        public void ShouldThrowArgumentNullExceptionWhenCreatingInstanceIfEvaluationIsNull()
        {
            // arrange
            var skill            = new Skill("C#");
            var skillEvaluator   = new Employee(100, "Jane Doe").SkillEvaluator;
            var targetLevel      = SkillLevel.Advanced;
            var currentLevel     = SkillLevel.Average;
            var evaluatee        = new Employee(101, "John Doe").Evaluatee;
            var evaluationPeriod = new EvaluationPeriod(TimeZoneInfo.Local, new DateTime(DateTime.Today.Year, 1, 1), new DateTime(DateTime.Today.Year, 12, 31));

            // act
            void action() => new SkillGoal(skill, skillEvaluator, targetLevel, currentLevel, null);

            // assert
            Assert.Throws <ArgumentNullException>(action);
        }
Exemple #10
0
        public void ShouldCreateInstance()
        {
            // arrange
            var skill            = new Skill("C#");
            var skillEvaluator   = new Employee(100, "Jane Doe").SkillEvaluator;
            var targetLevel      = SkillLevel.Advanced;
            var currentLevel     = SkillLevel.Average;
            var evaluatee        = new Employee(101, "John Doe").Evaluatee;
            var evaluationPeriod = new EvaluationPeriod(TimeZoneInfo.Local, new DateTime(DateTime.Today.Year, 1, 1), new DateTime(DateTime.Today.Year, 12, 31));
            var evaluation       = new Evaluation(evaluatee, evaluationPeriod);
            var skillGoal        = new SkillGoal(skill, skillEvaluator, targetLevel, currentLevel, evaluation);

            // act
            var result = new SkillScore(skillGoal);

            // assert
            Assert.Equal(skillGoal, result.SkillGoal);
        }
        public void ShouldCreateInstance()
        {
            // arrange
            var skill            = new Skill("C#");
            var currentLevel     = SkillLevel.Average;
            var personalProfile  = new Employee(101, "John Doe").Profile;
            var personalSkill    = new PersonalSkill(skill, currentLevel, personalProfile);
            var skillEvaluator   = new Employee(100, "Jane Doe").SkillEvaluator;
            var evaluationPeriod = new EvaluationPeriod(TimeZoneInfo.Local, new DateTime(DateTime.Today.Year, 1, 1), new DateTime(DateTime.Today.Year, 12, 31));
            var trackingPoint    = new TrackingPoint(skillEvaluator, evaluationPeriod, DateTime.Today);

            // act
            var result = new SkillSnapshot(trackingPoint, personalSkill);

            // assert
            Assert.Equal(trackingPoint, result.TrackingPoint);
            Assert.Equal(personalSkill, result.PersonalSkill);
        }
        public void ShouldAddNewSkillGoal()
        {
            // arrange
            var skillEvaluator   = new Employee(100, "Jane Doe").SkillEvaluator;
            var skill            = new Skill("C#");
            var evaluatee        = new Employee(101, "John Doe").Evaluatee;
            var evaluationPeriod = new EvaluationPeriod(TimeZoneInfo.Local, new DateTime(DateTime.Today.Year, 1, 1), new DateTime(DateTime.Today.Year, 12, 31));
            var evaluation       = new Evaluation(evaluatee, evaluationPeriod);
            var targetLevel      = SkillLevel.Advanced;
            var currentLevel     = SkillLevel.Average;

            // act
            var result = skillEvaluator.AddNewSkillGoal(skill, skillEvaluator, targetLevel, currentLevel, evaluation);

            // assert
            Assert.Equal(OperationStatusCode.Success, result.OperationStatusCode);
            Assert.Single(skillEvaluator.SkillGoals);
        }
        public void ShouldReturnMissingGoalWhenSetSkillScoreToSkillGoalIfGoalIsNotFound()
        {
            // arrange
            var skillEvaluator   = new Employee(100, "Jane Doe").SkillEvaluator;
            var skill            = new Skill("C#");
            var evaluatee        = new Employee(101, "John Doe").Evaluatee;
            var evaluationPeriod = new EvaluationPeriod(TimeZoneInfo.Local, new DateTime(DateTime.Today.Year, 1, 1), new DateTime(DateTime.Today.Year, 12, 31));
            var evaluation       = new Evaluation(evaluatee, evaluationPeriod);
            var targetLevel      = SkillLevel.Advanced;
            var currentLevel     = SkillLevel.Average;
            var skillGoal        = new SkillGoal(skill, skillEvaluator, targetLevel, currentLevel, evaluation);

            // act
            var skillLevelAchieved = SkillLevel.Advanced;
            var result             = skillEvaluator.SetSkillScoreToSkillGoal(skillGoal, skillLevelAchieved, 10, "Excelsior!!!");

            // assert
            Assert.Equal(OperationStatusCode.MissingSkillGoal, result.OperationStatusCode);
            Assert.Empty(skillEvaluator.SkillGoals);
        }