public void AbilityEnumListTest()
    {
        PKMN.AbilityEnumList abilityEnumList = new PKMN.AbilityEnumList();
        abilityEnumList.Add(PKMN.Ability.STENCH);
        abilityEnumList.Add(PKMN.Ability.TANGLED_FEET);
        abilityEnumList.Add(PKMN.Ability.SAP_SIPPER);
        abilityEnumList.Add(PKMN.Ability.BULLETPROOF);
        abilityEnumList.Add(PKMN.Ability.DELTA_STREAM);

        PKMN.AbilityEnumList abilityEnumListSame = new PKMN.AbilityEnumList();
        abilityEnumListSame.Add(PKMN.Ability.STENCH);
        abilityEnumListSame.Add(PKMN.Ability.TANGLED_FEET);
        abilityEnumListSame.Add(PKMN.Ability.SAP_SIPPER);
        abilityEnumListSame.Add(PKMN.Ability.BULLETPROOF);
        abilityEnumListSame.Add(PKMN.Ability.DELTA_STREAM);

        PKMN.AbilityEnumList abilityEnumListReversed = new PKMN.AbilityEnumList();
        abilityEnumListReversed.Add(PKMN.Ability.DELTA_STREAM);
        abilityEnumListReversed.Add(PKMN.Ability.BULLETPROOF);
        abilityEnumListReversed.Add(PKMN.Ability.SAP_SIPPER);
        abilityEnumListReversed.Add(PKMN.Ability.TANGLED_FEET);
        abilityEnumListReversed.Add(PKMN.Ability.STENCH);

        Assert.AreEqual(abilityEnumList, abilityEnumList);
        Assert.AreEqual(abilityEnumList, abilityEnumListSame);
        Assert.AreEqual(abilityEnumList.GetHashCode(), abilityEnumListSame.GetHashCode());

        Assert.AreNotEqual(abilityEnumList, abilityEnumListReversed);
        Assert.AreNotEqual(abilityEnumList.GetHashCode(), abilityEnumListReversed.GetHashCode());
    }
示例#2
0
    public void AbilityListTest()
    {
        // Make sure trying to create invalid lists results in an exception.
        Assert.Throws <IndexOutOfRangeException>(
            delegate
        {
            PKMN.Database.Lists.AbilityList(0);
        }
            );
        Assert.Throws <IndexOutOfRangeException>(
            delegate
        {
            PKMN.Database.Lists.AbilityNameList(0);
        }
            );

        PKMN.AbilityEnumList abilityList = PKMN.Database.Lists.AbilityList(6);
        Assert.AreEqual(abilityList.Count, 191);
        Assert.AreEqual(abilityList[0], PKMN.Ability.STENCH);
        Assert.AreEqual(abilityList[190], PKMN.Ability.DELTA_STREAM);

        PKMN.StringList abilityNameList = PKMN.Database.Lists.AbilityNameList(6);
        Assert.AreEqual(abilityNameList.Count, 191);
        Assert.AreEqual(abilityNameList[0], "Stench");
        Assert.AreEqual(abilityNameList[190], "Delta Stream");

        // Make sure lists match.
        Assert.AreEqual(abilityList.Count, abilityNameList.Count);
        for (int abilityIndex = 0; abilityIndex < abilityList.Count; ++abilityIndex)
        {
            string abilityName = PKMN.PKMN.AbilityToString(abilityList[abilityIndex]);
            Assert.AreEqual(abilityName, abilityNameList[abilityIndex]);
        }
    }