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 RuneMetricsProfile(string name, SkillScore overall, CombatInfo combat, QuestsInfo quests, RuneMetricsSkillScores skills, IList <AdventurersLogActivity> activities) { Name = name; Overall = overall; Combat = combat; Quests = quests; Skills = skills; Activities = activities; }
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 static void ToSkillScore(XmlNode Node, SkillScore Score) { if (Node == null || Score == null) { return; } String Alias = Node["alias"].AttributeToString("name"); if (Alias == Score.Name) { Score.Bonus = Node.AttributeToInt("value"); } else if (Alias.Contains("Trained")) { Score.Trained |= Node.AttributeToInt("value") > 0; } if (Node.Name == "Stat") { XmlNode Child; Int32 Count = Node.ChildNodes.Count; for (Int32 I = 0; I < Count; I++) { Child = Node.ChildNodes[I]; String Type = Child.Attributes["type"]?.Value; Int32 Value = Int32.Parse(Child.Attributes["value"]?.Value ?? "0"); if (!String.IsNullOrEmpty(Type)) { if (Type == "Ability" || Type == "Feat" || Type == "Racial") { Score.Misc += Value; } else if (Type == "Armor Penalty") { Score.ArmorPenalty += Value; } } } } }
public Result ParseResult(string rawResponse) { ApiResult result = JsonConvert.DeserializeObject <ApiResult>(rawResponse); RuneMetricsError error = ParseError(result.Error); RuneMetricsProfile profile = null; if (error == RuneMetricsError.NoError) { string name = result.Name; int? overallRank = result.Rank == null ? (int?)null : Int32.Parse(result.Rank.Replace(",", "")); SkillScore overall = new SkillScore(HiScoresEntries.Overall, result.TotalXP, result.TotalSkill, overallRank); RuneMetricsProfile.CombatInfo combatInfo = new RuneMetricsProfile.CombatInfo(result.Magic, result.Ranged, result.Melee, result.CombatLevel); RuneMetricsProfile.QuestsInfo questsInfo = new RuneMetricsProfile.QuestsInfo(result.QuestsNotStarted, result.QuestsStarted, result.QuestsComplete); RuneMetricsSkillScores.Entry[] skillScoreEntries = new RuneMetricsSkillScores.Entry[result.SkillValues.Length + 1]; skillScoreEntries[0] = new RuneMetricsSkillScores.Entry(HiScoresEntries.Overall.RuneMetricsId, overall.Level, overall.XP, overall.Rank); for (int i = 0; i < result.SkillValues.Length; i++) { ApiSkillValueEntry entry = result.SkillValues[i]; long xp = entry.XP / 10; skillScoreEntries[i + 1] = new RuneMetricsSkillScores.Entry(entry.Id, entry.Level, xp, entry.Rank); } RuneMetricsSkillScores skillScores = new RuneMetricsSkillScores(skillScoreEntries); AdventurersLogActivity[] activities = new AdventurersLogActivity[result.Activities.Length]; for (int i = 0; i < result.Activities.Length; i++) { ApiActivityEntry entry = result.Activities[i]; activities[i] = new AdventurersLogActivity(entry.Date, entry.Text, entry.Details); } profile = new RuneMetricsProfile(name, overall, combatInfo, questsInfo, skillScores, activities); } return(new Result(error, profile)); }