Example #1
0
        public void GivenListOfSixPokemon_AddPokemonToTeamReturnsCorrectValues()
        {
            var team     = new Team();
            var expected = new Team();

            for (int i = 0; i < 6; i++)
            {
                team = _sut.AddPokemonToTeam(team, CreateTestPokemon_Charmander());
                expected.Pokemon.Add(CreateTestPokemon_Charmander());
            }
            team.Pokemon.Count.Should().BeLessOrEqualTo(6);
            team.Pokemon.Should().BeEquivalentTo(expected.Pokemon);
        }
        public async Task <Team> AddPokemonToTeamAsync(Team team)
        {
            Console.WriteLine("Please enter the name of the pokemon you would like to add: ");
            var pokemonName = Console.ReadLine();

            var pokemonToAdd = await GetPokemon(pokemonName);

            if (pokemonToAdd != null)
            {
                team = pokemonService.AddPokemonToTeam(team, pokemonToAdd);
            }
            else
            {
                Console.WriteLine($"Could not retrieve pokemon {pokemonName}, please ensure it is spelled correctly, pokemon was not added to team");
            }

            Console.WriteLine("Would you like to add another pokemon? (y/n)");
            var userChoice = Console.ReadLine();

            if (userChoice.ToLower() == "y")
            {
                await AddPokemonToTeamAsync(team);
            }

            return(team);
        }