public void MoveEntryTest() { PKMN.Database.MoveEntry moveEntry = new PKMN.Database.MoveEntry( PKMN.Move.SCRATCH, PKMN.Game.RED ); PKMN.Database.MoveEntry moveEntrySame = new PKMN.Database.MoveEntry( PKMN.Move.SCRATCH, PKMN.Game.RED ); PKMN.Database.MoveEntry moveEntryDifferentMove = new PKMN.Database.MoveEntry( PKMN.Move.TACKLE, PKMN.Game.RED ); PKMN.Database.MoveEntry moveEntryDifferentGame = new PKMN.Database.MoveEntry( PKMN.Move.SCRATCH, PKMN.Game.BLUE ); Assert.AreEqual(moveEntry, moveEntry); Assert.AreEqual(moveEntry, moveEntrySame); Assert.AreEqual(moveEntry.GetHashCode(), moveEntrySame.GetHashCode()); Assert.AreNotEqual(moveEntry, moveEntryDifferentMove); Assert.AreNotEqual(moveEntry.GetHashCode(), moveEntryDifferentMove.GetHashCode()); Assert.AreNotEqual(moveEntry, moveEntryDifferentGame); Assert.AreNotEqual(moveEntry.GetHashCode(), moveEntryDifferentGame.GetHashCode()); }
public void MoveEntryTest() { // Make sure trying to create an invalid entry results in an error. Assert.Throws <ArgumentOutOfRangeException>( delegate { new PKMN.Database.MoveEntry(PKMN.Move.OCTAZOOKA, PKMN.Game.NONE); } ); Assert.Throws <ArgumentOutOfRangeException>( delegate { new PKMN.Database.MoveEntry(PKMN.Move.OCTAZOOKA, PKMN.Game.RED); } ); PKMN.Database.MoveEntry moveEntry = new PKMN.Database.MoveEntry( PKMN.Move.OCTAZOOKA, PKMN.Game.SILVER ); Assert.AreEqual(moveEntry.Move, PKMN.Move.OCTAZOOKA); Assert.AreEqual(moveEntry.Name, "Octazooka"); Assert.AreEqual(moveEntry.Game, PKMN.Game.SILVER); Assert.AreEqual(moveEntry.MoveType, PKMN.Type.WATER); // Just make sure it works string description = moveEntry.Description; Assert.AreEqual(moveEntry.Target, PKMN.MoveTarget.SELECTED_POKEMON); Assert.AreEqual(moveEntry.DamageClass, PKMN.MoveDamageClass.SPECIAL); Assert.AreEqual(moveEntry.BasePower, 65); int[] PPs = { 10, 12, 14, 16 }; for (int i = 0; i < 4; ++i) { Assert.AreEqual(moveEntry.GetPP(i), PPs[i]); } Assert.That(moveEntry.Accuracy, Is.EqualTo(0.85f).Within(0.0001)); Assert.AreEqual(moveEntry.Priority, 0); // Just make sure it works string effect = moveEntry.Effect; Assert.AreEqual(moveEntry.ContestType, PKMN.ContestStat.NONE); Assert.AreEqual(moveEntry.ContestEffect, "None"); Assert.AreEqual(moveEntry.SuperContestEffect, "None"); }