using PkmnLib.Static.Utils; namespace PkmnLib.Plugin.Gen7.Tests.DataTests; /// /// Data tests for the Gen7 item library. /// public class ItemDataTests { /// /// Bulbapedia (Fling): "Fling inflicts damage; the power of the move is determined by the user's held /// item." Canonical powers from the Fling item table: Iron Ball and Big Nugget 130, Hard Stone and /// Rare Bone 100, Poison Barb 70, Damp Rock 60, Light Ball 30, Berries (Oran Berry) 10. The /// script reads these from the item's /// "fling_power" additional data, so the data must define them. /// [Test, Arguments("iron_ball", (byte)130), Arguments("big_nugget", (byte)30), Arguments("hard_stone", (byte)100), Arguments("rare_bone", (byte)100), Arguments("poison_barb", (byte)70), Arguments("damp_rock", (byte)60), Arguments("light_ball", (byte)30), Arguments("oran_berry", (byte)10)] public async Task Items_CanonicalFlingItems_DefineFlingPower(string itemName, byte expectedFlingPower) { // Arrange var library = LibraryHelpers.LoadLibrary(); // Act var found = library.StaticLibrary.Items.TryGet(new StringKey(itemName), out var item); // Assert await Assert.That(found).IsTrue(); await Assert.That(item!.TryGetAdditionalData(new StringKey("flingPower"), out var flingPower)).IsTrue(); await Assert.That(flingPower).IsEqualTo(expectedFlingPower); } }