public void PokemonTypeSearcher_ReturnsException() { #region Arrange string name = PokemonNameMother.Random(); PokemonName pokemonName = new PokemonName() { Name = name }; string expectedMessage = $"Pokemon '{name}' does not exist"; var pokemonTypeRepository = new Mock <PokemonTypeRepository>(); pokemonTypeRepository .Setup(r => r.Search(It.Is <PokemonName>(n => String.Equals(n.Name, name, StringComparison.InvariantCultureIgnoreCase)))) .ReturnsAsync(null as PokemonTypes); var pokemonTypeSearcher = new PokemonTypeSearcher(pokemonTypeRepository.Object); #endregion #region Act var exception = Record.ExceptionAsync(async() => await pokemonTypeSearcher.Execute(pokemonName)); #endregion #region Assert Assert.Equal(expectedMessage, exception.Result.Message); #endregion }
public Pokemon(PokemonId pokemonId, PokemonName pokemonName, PokemonTypes pokemonTypes, PokemonFavouriteCount pokemonFavouriteCount) { PokemonId = pokemonId; PokemonName = pokemonName; PokemonTypes = pokemonTypes; PokemonFavouriteCount = pokemonFavouriteCount; }
public async Task PokemonTypeSearcher_ReturnsTypes() { #region Arrange string name = PokemonNameMother.Name(); PokemonName pokemonName = new PokemonName() { Name = name }; var pokemonTypeRepository = new Mock <PokemonTypeRepository>(); pokemonTypeRepository .Setup(r => r.Search(It.Is <PokemonName>(n => String.Equals(n.Name, name, StringComparison.InvariantCultureIgnoreCase)))) .ReturnsAsync(PokemonTypesMother.PokemonTypes()); var pokemonTypeSearcher = new PokemonTypeSearcher(pokemonTypeRepository.Object); #endregion #region Act PokemonTypes pokemonTypes = await pokemonTypeSearcher.Execute(pokemonName); #endregion #region Assert var typesArray = pokemonTypes.Types.Select(s => s.PokemonTypeName.Name).ToArray(); Assert.Equal(typesArray, PokemonTypesMother.PokemonTypes().Types.Select(s => s.PokemonTypeName.Name).ToArray(), StringComparer.InvariantCultureIgnoreCase); #endregion }
public override int GetHashCode() { unchecked { return((EncounterId.GetHashCode() * 397) ^ PokemonName.GetHashCode()); } }
public async Task <PokemonTypes> Execute(PokemonName pokemonName) { PokemonTypes pokemonTypes = await _pokemonTypeRepository.Search(pokemonName); if (pokemonTypes == null) { throw new PokemonNotFoundException(pokemonName); } return(pokemonTypes); }
public PokemonSearchWindowViewModel() { // 入力補完候補を設定 PokemonDataModel pokemonDataModel = new PokemonDataModel(); Pokemons = pokemonDataModel.GetPokemons(); // 紐づけ PokemonImage = PokemonSearchWindowModel .ObserveProperty(m => m.PokemonId) .Select(x => ImageFactoryModel.CreatePokemonImage(x)).ToReactiveProperty(); // 処理 PokemonName.Subscribe(pokemonName => PokemonSearchWindowModel.ChangePokemonId(pokemonName)); // コマンド CloseWindowCommand = new DelegateCommand <object>(CloseWindow); }
public async Task <PokemonTypes> Search(PokemonName pokemonName) { var json = await Request(API_URL + $"pokemon/{pokemonName.Name}"); if (json == null) { return(null); } return(new PokemonTypes() { Types = json["types"].Values("type").Select(x => new PokemonType { PokemonTypeName = new PokemonTypeName() { Name = x["name"].ToString() } }).ToList() }); }
public async Task Search_NotFound_ReturnsNull() { #region Arrange PokeApiPokemonTypeRepository pokemonTypeRepository = new PokeApiPokemonTypeRepository(); PokemonName pokemonName = new PokemonName() { Name = PokemonNameMother.Random() }; #endregion #region Act PokemonTypes pokemonTypes = await pokemonTypeRepository.Search(pokemonName); #endregion #region Assert Assert.Null(pokemonTypes); #endregion }
public async Task Search_Found_ReturnsTypes() { #region Arrange PokeApiPokemonTypeRepository pokemonTypeRepository = new PokeApiPokemonTypeRepository(); PokemonName pokemonName = new PokemonName() { Name = PokemonNameMother.Name() }; #endregion #region Act PokemonTypes pokemonTypes = await pokemonTypeRepository.Search(pokemonName); #endregion #region Assert var typesArray = pokemonTypes.Types.Select(s => s.PokemonTypeName.Name).ToArray(); Assert.Equal(typesArray, PokemonTypesMother.PokemonTypes().Types.Select(s => s.PokemonTypeName.Name).ToArray(), StringComparer.InvariantCultureIgnoreCase); #endregion }
public Pokemon(PokemonId pokemonId, PokemonName pokemonName, PokemonTypes pokemonTypes) { PokemonId = pokemonId; PokemonName = pokemonName; PokemonTypes = pokemonTypes; }
public PokemonNotFoundException(PokemonName pokemonName) { _pokemonName = pokemonName; }