public void CheckPropertiesMagnetPull()
        {
            var ability = FieldAbility.GetMagnetPull();

            Assert.AreEqual(Nature.other, ability.syncNature);
            Assert.AreEqual(PokeType.Steel, ability.attractingType);
            Assert.AreEqual(Gender.Genderless, ability.cuteCharmGender);

            uint threshold = 100;

            Assert.AreEqual(threshold, ability.CorrectEncounterThreshold(threshold));

            Assert.AreEqual(typeof(StandardLvGenerator), ability.lvGenerator.GetType());
        }
        public void CheckPropertiesCuteCharm()
        {
            var cuteCharmGender = Gender.Male;
            var ability         = FieldAbility.GetCuteCharm(cuteCharmGender);

            Assert.AreEqual(Nature.other, ability.syncNature);
            Assert.AreEqual(PokeType.Non, ability.attractingType);
            Assert.AreEqual(cuteCharmGender, ability.cuteCharmGender);

            uint threshold = 100;

            Assert.AreEqual(threshold, ability.CorrectEncounterThreshold(threshold));

            Assert.AreEqual(typeof(StandardLvGenerator), ability.lvGenerator.GetType());
        }
        public void CheckPropertiesSynchronize()
        {
            var expectedNature = Nature.Bashful;
            var ability        = FieldAbility.GetSynchronize(expectedNature);

            Assert.AreEqual(expectedNature, ability.syncNature);
            Assert.AreEqual(PokeType.Non, ability.attractingType);
            Assert.AreEqual(Gender.Genderless, ability.cuteCharmGender);

            uint threshold = 100;

            Assert.AreEqual(threshold, ability.CorrectEncounterThreshold(threshold));

            Assert.AreEqual(typeof(StandardLvGenerator), ability.lvGenerator.GetType());
        }