public void AddTotalsAsync_FactorsInAbilityScores()
        {
            //Arrange
            var skills = new List <API.Dto.Skill>
            {
                new API.Dto.Skill
                {
                    Id                    = Guid.NewGuid(),
                    Name                  = "Skill1",
                    PrimaryStatId         = AbilityType.Cha,
                    HasArmourCheckPenalty = false,
                    Ranks                 = 5,
                    Class                 = false,
                    UseUntrained          = false
                }
            };
            var abilityScores = new List <PrimaryStat>
            {
                new PrimaryStat
                {
                    AbilityModifier = 5,
                    Id = AbilityType.Cha
                }
            };

            A.CallTo(() => _primaryStatsService.GetAllPrimaryStats()).Returns(abilityScores);

            //Act
            var result      = _skillTotalCalculator.AddTotals(skills);
            var firstResult = result.FirstOrDefault();

            //Assert
            firstResult.Total.Should().Be(10);
            firstResult.PrimaryStatModifier.Should().Be(5);
        }
Example #2
0
        public void RequestPrimaryStats_ReturnsDataProperly()
        {
            //Arrange
            var svcData = new List <PrimaryStat>
            {
                new PrimaryStat
                {
                    Id = AbilityType.Cha,
                    AbilityModifier = 5,
                    AbilityScore    = 10,
                    Name            = "Charisma"
                }
            };

            var correctUiPrimaryStats = new List <UiPrimaryStat>
            {
                new UiPrimaryStat()
                {
                    AbilityModifier = "+5",
                    AbilityScore    = "10",
                    Name            = "Charisma",
                    ShortName       = "CHA"
                }
            };

            A.CallTo(() => _primaryStatsService.GetAllPrimaryStats()).Returns(svcData);
            A.CallTo(() => _autoMapper.MapToUi(svcData)).Returns(correctUiPrimaryStats);

            //Act
            var result = _primaryStatsTableModel.RequestPrimaryStats();

            //Assert
            result.Should().BeEquivalentTo(correctUiPrimaryStats);
        }
        public IEnumerable <Skill> AddTotals(IEnumerable <Skill> skills)
        {
            var skillsList    = skills.ToList();
            var abilityScores = _primaryStatsService.GetAllPrimaryStats().ToDictionary(ab => ab.Id);

            foreach (var skill in skillsList)
            {
                AddTotalToSkill(skill, abilityScores);
            }

            return(skillsList);
        }