public void TypeEnumListTest() { PKMN.TypeEnumList typeEnumList = new PKMN.TypeEnumList(); typeEnumList.Add(PKMN.Type.NORMAL); typeEnumList.Add(PKMN.Type.SHADOW); typeEnumList.Add(PKMN.Type.FAIRY); typeEnumList.Add(PKMN.Type.QUESTION_MARK); typeEnumList.Add(PKMN.Type.STEEL); PKMN.TypeEnumList typeEnumListSame = new PKMN.TypeEnumList(); typeEnumListSame.Add(PKMN.Type.NORMAL); typeEnumListSame.Add(PKMN.Type.SHADOW); typeEnumListSame.Add(PKMN.Type.FAIRY); typeEnumListSame.Add(PKMN.Type.QUESTION_MARK); typeEnumListSame.Add(PKMN.Type.STEEL); PKMN.TypeEnumList typeEnumListReversed = new PKMN.TypeEnumList(); typeEnumListReversed.Add(PKMN.Type.STEEL); typeEnumListReversed.Add(PKMN.Type.QUESTION_MARK); typeEnumListReversed.Add(PKMN.Type.FAIRY); typeEnumListReversed.Add(PKMN.Type.SHADOW); typeEnumListReversed.Add(PKMN.Type.NORMAL); Assert.AreEqual(typeEnumList, typeEnumList); Assert.AreEqual(typeEnumList, typeEnumListSame); Assert.AreEqual(typeEnumList.GetHashCode(), typeEnumListSame.GetHashCode()); Assert.AreNotEqual(typeEnumList, typeEnumListReversed); Assert.AreNotEqual(typeEnumList.GetHashCode(), typeEnumListReversed.GetHashCode()); }
public void TypeListTest() { // Make sure trying to create an invalid list results in an exception Assert.Throws <ArgumentOutOfRangeException>( delegate { PKMN.Database.Lists.TypeList(PKMN.Game.NONE); } ); Assert.Throws <ArgumentOutOfRangeException>( delegate { PKMN.Database.Lists.TypeNameList(PKMN.Game.NONE); } ); PKMN.TypeEnumList typeList = PKMN.Database.Lists.TypeList(PKMN.Game.ALPHA_SAPPHIRE); Assert.AreEqual(typeList.Count, 18); Assert.AreEqual(typeList[0], PKMN.Type.NORMAL); Assert.AreEqual(typeList[17], PKMN.Type.FAIRY); PKMN.StringList typeNameList = PKMN.Database.Lists.TypeNameList(PKMN.Game.ALPHA_SAPPHIRE); Assert.AreEqual(typeNameList.Count, 18); Assert.AreEqual(typeNameList[0], "Normal"); Assert.AreEqual(typeNameList[17], "Fairy"); // Make sure lists match. Assert.AreEqual(typeList.Count, typeNameList.Count); for (int typeIndex = 0; typeIndex < typeList.Count; ++typeIndex) { string typeName = PKMN.PKMN.TypeToString(typeList[typeIndex]); Assert.AreEqual(typeName, typeNameList[typeIndex]); } }