Exemple #1
0
        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();
        }
Exemple #2
0
        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();
        }
Exemple #3
0
 public PokemonStatProviderTests()
 {
     pokemonDAMock          = new Mock <IPokemonRepository>(MockBehavior.Strict);
     probabilityUtilityMock = new Mock <IProbabilityUtility>(MockBehavior.Strict);
     pokemonStatUtility     = new PokemonStatProvider(pokemonDAMock.Object, probabilityUtilityMock.Object);
 }