Beispiel #1
0
        public Hero GenerateHero(GenerateNamePreference generateNamePreference)
        {
            var race = EnumExtensions.GetRandom <Race>();

            var gender = EnumExtensions.GetRandom <Gender>();

            return(GenerateHeroS(race, gender, generateNamePreference));
        }
Beispiel #2
0
        public IActionResult GetByRaceAndGender(Race race, Gender gender, GenerateNamePreference generateNamePreference = GenerateNamePreference.Normal)
        {
            try
            {
                var aNewHero = heroService.GenerateHero(race, gender, generateNamePreference);

                return(Ok(aNewHero));
            }
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }
        }
Beispiel #3
0
        public GeneratedName GenerateName(Gender gender, GenerateNamePreference generateNamePreference = GenerateNamePreference.Normal)
        {
            var rnd = new Random();

            var name = new List <string>(2);

            if (gender == Gender.Unknown)
            {
                name.Add(oneWordNames[rnd.Next(0, oneWordNames.Length - 1)]);
            }
            else
            {
                switch (generateNamePreference)
                {
                case GenerateNamePreference.Normal:
                    name.Add(gender == Gender.Male ?
                             maleFirstNames[rnd.Next(0, maleFirstNames.Length - 1)] :
                             femaleFirstNames[rnd.Next(0, femaleFirstNames.Length - 1)]);
                    name.Add(lastNames[rnd.Next(0, lastNames.Length - 1)]);
                    break;

                case GenerateNamePreference.Special:
                    var sName = gender == Gender.Male ?
                                maleSpecialNames[rnd.Next(0, maleSpecialNames.Length - 1)] :
                                femaleSpecialNames[rnd.Next(0, femaleSpecialNames.Length - 1)];
                    name = sName.Split(" ").ToList();
                    break;

                case GenerateNamePreference.OneWord:
                    name.Add(oneWordNames[rnd.Next(0, oneWordNames.Length - 1)]);
                    break;

                default:
                    name.Add(gender == Gender.Male ?
                             maleFirstNames[rnd.Next(0, maleFirstNames.Length - 1)] :
                             femaleFirstNames[rnd.Next(0, femaleFirstNames.Length - 1)]);
                    name.Add(lastNames[rnd.Next(0, lastNames.Length - 1)]);
                    break;
                }
            }

            return(new GeneratedName(name, gender));
        }
Beispiel #4
0
        public void ShouldReturnOkWhenUsingGet(Gender gender, GenerateNamePreference generateNamePreference)
        {
            // Arrange
            // heroServiceMock.Setup(h => h.GenerateHero(generateNamePreference)).Returns(new Hero(nameGenerator.GenerateName(gender)));
            //var s = new IHeroService();
            var unitToTest = new HeroController(new HeroService(nameGenerator));


            // Act
            var result = unitToTest.Get(generateNamePreference);

            // Asserts
            Assert.IsAssignableFrom <OkObjectResult>((OkObjectResult)result);
            var okObjectResult = result as OkObjectResult;

            Assert.IsAssignableFrom <Hero>(okObjectResult.Value);
            Assert.NotNull(okObjectResult.Value);
            Assert.Equal(StatusCodes.Status200OK, okObjectResult.StatusCode);
        }
Beispiel #5
0
        private Hero GenerateHeroS(Race race, Gender gender, GenerateNamePreference generateNamePreference)
        {
            try
            {
                var physicalAttributes = new PhysicalAttributes(race);

                var progression   = new Progression();
                var vitals        = new Vitals();
                var traits        = new Traits();
                var generatedName = nameGenerator.GenerateName(gender, generateNamePreference);

                var hero = new Hero(generatedName, race, physicalAttributes, vitals, progression, traits);

                return(hero);
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
Beispiel #6
0
 public Hero GenerateHero(Race race, Gender gender, GenerateNamePreference generateNamePreference)
 {
     return(GenerateHeroS(race, gender, generateNamePreference));
 }