public void AssignIVsAndEVsToTeamTest() { // Setup int level = 50; // Mock probabilityUtilityMock.Setup(m => m.GaussianRandomSkewed(0, 65535, level / 100D)).Returns(1); probabilityUtilityMock.Setup(m => m.GaussianRandom(0, 15)).Returns(1); var list = Enumerable.Range(1, 6).Select(i => new Pokemon { SpeciesId = (byte)i, OTName = i.ToString() }); var team = new PokeList(list.Count()) { Pokemon = list.ToArray(), Species = list.Select(p => p.SpeciesId).ToArray(), OTNames = list.Select(p => p.OTName).ToArray(), }; // Generate pokemonStatUtility = new PokemonStatProvider(pokemonDAMock.Object, probabilityUtilityMock.Object); pokemonStatUtility.AssignIVsAndEVsToTeam(team, level); // Assert Assert.NotNull(team); foreach (var poke in team.Pokemon) { Assert.True(poke.DefenseEV >= 0, "DefenseEV >= 0"); Assert.True(poke.DefenseEV <= 65535, "DefenseEV <= 65535"); Assert.True(poke.AttackEV >= 0, "AttackEV >= 0"); Assert.True(poke.AttackEV <= 65535, "AttackEV <= 65535"); Assert.True(poke.HitPointsEV >= 0, "HitPointsEV >= 0"); Assert.True(poke.HitPointsEV <= 65535, "HitPointsEV <= 65535"); Assert.True(poke.SpecialEV >= 0, "SpecialEV >= 0"); Assert.True(poke.SpecialEV <= 65535, "SpecialEV <= 65535"); Assert.True(poke.SpeedEV >= 0, "SpeedEV >= 0"); Assert.True(poke.SpeedEV <= 65535, "SpeedEV <= 65535"); } foreach (var poke in team.Pokemon) { Assert.True(poke.DefenseIV >= 0, "DefenseIV >= 0"); Assert.True(poke.DefenseIV <= 15, "DefenseIV <= 15"); Assert.True(poke.AttackIV >= 0, "AttackIV >= 0"); Assert.True(poke.AttackIV <= 15, "AttackIV <= 15"); Assert.True(poke.SpecialIV >= 0, "SpecialIV >= 0"); Assert.True(poke.SpecialIV <= 15, "SpecialIV <= 15"); Assert.True(poke.SpeedIV >= 0, "SpeedIV >= 0"); Assert.True(poke.SpeedIV <= 15, "SpeedIV <= 15"); } // Verify pokemonDAMock.VerifyAll(); probabilityUtilityMock.VerifyAll(); }
public void GetTeamBaseStatsTest() { // Mock var list = Enumerable.Range(1, 6).Select(i => new Pokemon { SpeciesId = (byte)i, OTName = i.ToString(), }); var team = new PokeList(list.Count()) { Pokemon = list.ToArray(), Species = list.Select(p => p.SpeciesId).ToArray(), OTNames = list.Select(p => p.OTName).ToArray(), }; pokemonDAMock.Setup(m => m.GetTeamBaseStats(team)).Returns <PokeList>(pl => pl.Species.Select(i => new BaseStats { Id = i, Identifier = $"Test{i}", Types = "test", Hp = i, Attack = i + 1, Defense = i + 2, SpAttack = i + 3, SpDefense = i + 4, Speed = i + 5, GrowthRate = "test", })); // Generate pokemonStatUtility = new PokemonStatProvider(pokemonDAMock.Object, probabilityUtilityMock.Object); pokemonStatUtility.GetTeamBaseStats(team, 100); // Assert Assert.NotNull(team); foreach (var poke in team.Pokemon) { Assert.Equal(poke.SpeciesId + 2, poke.Defense); Assert.Equal(poke.SpeciesId + 1, poke.Attack); Assert.Equal(poke.SpeciesId + 4, poke.SpDefense); Assert.Equal(poke.SpeciesId + 3, poke.SpAttack); Assert.Equal(poke.SpeciesId + 5, poke.Speed); } // Verify pokemonDAMock.VerifyAll(); probabilityUtilityMock.VerifyAll(); }
public PokemonStatProviderTests() { pokemonDAMock = new Mock <IPokemonRepository>(MockBehavior.Strict); probabilityUtilityMock = new Mock <IProbabilityUtility>(MockBehavior.Strict); pokemonStatUtility = new PokemonStatProvider(pokemonDAMock.Object, probabilityUtilityMock.Object); }