public Hero GenerateHero(GenerateNamePreference generateNamePreference) { var race = EnumExtensions.GetRandom <Race>(); var gender = EnumExtensions.GetRandom <Gender>(); return(GenerateHeroS(race, gender, generateNamePreference)); }
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)); } }
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)); }
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); }
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; } }
public Hero GenerateHero(Race race, Gender gender, GenerateNamePreference generateNamePreference) { return(GenerateHeroS(race, gender, generateNamePreference)); }