public void TestCacheFailOnGet() { var client = new WowClient(TestConstants.TestRegion, null, new MockupCache(false, true)); Assert.IsNotNull(client.GetItemAsync(49110).Result); Assert.IsNotNull(client.GetItemAsync(49110).Result); }
public void TestCacheNoFail() { var client = new WowClient(TestConstants.TestRegion, null, new MockupCache(false, false)); var item1 = client.GetItemAsync(49110).Result; var item2 = client.GetItemAsync(49110).Result; Assert.AreSame(item1, item2); }
public void TestItems() { var client = new WowClient(TestConstants.TestRegionName, TestConstants.Credentials, null, null); var result = client.GetItemAsync(17182).Result; Assert.IsNotNull(result); Assert.IsTrue(result.ItemQuality == ItemQuality.Legendary); Assert.AreEqual(17182, result.Id); result = client.GetItemAsync(86879).Result; Assert.IsNotNull(result); Assert.IsTrue(result.IsUpgradable); }
public void TestItems() { var client = new WowClient(TestConstants.TestRegion, Properties.Settings.Default.PublicKey, TestConstants.TestLocale); var result = client.GetItemAsync(17182).Result; Assert.IsNotNull(result); Assert.IsTrue(result.ItemQuality == ItemQuality.Legendary); Assert.AreEqual(17182, result.Id); result = client.GetItemAsync(86879).Result; Assert.IsNotNull(result); Assert.IsTrue(result.IsUpgradable); }
public void TestBag() { const int id = 38082; // "Gigantique" Bag var client = new WowClient(TestConstants.TestRegion, "en-gb"); var item = client.GetItemAsync(id).Result; Assert.AreEqual(22, item.ContainerSlots); }
public void TestUniqueTabard() { const int id = 31781; // Sha'tar Tabard var client = new WowClient(TestConstants.TestRegion, "en-gb"); var item = client.GetItemAsync(id).Result; Assert.IsTrue(item.MaxCount > 0); Assert.IsTrue(item.MinimumFactionId > 0); Assert.IsTrue(item.MinimumFactionStanding == Standing.Exalted); }
public void TestItemAgilityPoleArm() { const int id = 77194; // Kiril, fury of beasts var client = new WowClient(TestConstants.TestRegion, "en-gb"); var item = client.GetItemAsync(id).Result; Assert.IsNotNull(item.Name); Assert.AreEqual(item.Name, item.ToString()); Assert.IsTrue(item.BuyPrice > 0); Assert.IsTrue(item.SellPrice > 0); Assert.IsTrue(item.DisenchantingSkillRank.HasValue && item.DisenchantingSkillRank.Value > 0); Assert.IsTrue(item.Equippable); Assert.AreEqual(id, item.Id); Assert.AreEqual(ItemInventoryType.TwoHanded, item.InventoryType); Assert.AreEqual(ItemQuality.Epic, item.ItemQuality); Assert.IsTrue(item.RequiredLevel >= 85); Assert.IsNotNull(item.Source); Assert.IsTrue(item.Source.SourceId > 0); Assert.IsNotNull(item.Source.SourceType); Assert.IsNotNull(item.Source.ToString()); //Assert.AreEqual(ItemSubcategory.WeaponsPoleArms, item.Subcategory); Assert.AreEqual(ItemCategory.Weapons, item.Category); Assert.IsTrue(item.SubcategoryId > 0); Assert.IsNotNull(item.WeaponInfo); Assert.IsNotNull(item.WeaponInfo.Damage); Assert.IsTrue(item.WeaponInfo.Damage.MaximumDamage > 0); Assert.IsTrue(item.WeaponInfo.Damage.MinimumDamage > 0); Assert.IsTrue(item.WeaponInfo.DamagePerSecond > 0); Assert.IsTrue(item.WeaponInfo.Speed > 0); Assert.IsNotNull(item.WeaponInfo.ToString()); Assert.IsNotNull(item.WeaponInfo.Damage.ToString()); Assert.IsNotNull(item.ItemSpells); Assert.IsTrue(item.ItemSpells.Count > 0); Assert.IsNotNull(item.ItemSpells[0].Spell); Assert.IsTrue(item.ItemSpells[0].SpellId > 0); Assert.AreEqual(ItemSpellTriggers.Equipped, item.ItemSpells[0].Trigger); Assert.IsNotNull(item.ItemSpells[0].ToString()); }
public void TestItemAgilityChestDruidTierSet() { const int id = 78760; // Deep Earth Raiment var client = new WowClient(TestConstants.TestRegion, "en-gb"); var item = client.GetItemAsync(id).Result; Assert.IsNotNull(item.Name); Assert.AreEqual(item.Name, item.ToString()); Assert.IsTrue(item.BaseArmor > 0); Assert.IsTrue(item.SellPrice > 0); Assert.IsTrue(item.DisenchantingSkillRank.HasValue && item.DisenchantingSkillRank.Value > 0); Assert.IsTrue(item.Equippable); Assert.IsTrue(item.HasSockets); Assert.AreEqual(id, item.Id); Assert.AreEqual(ItemInventoryType.Robe, item.InventoryType); Assert.AreEqual(ItemQuality.Epic, item.ItemQuality); Assert.IsTrue(item.RequiredLevel >= 85); Assert.IsTrue(item.MaximumDurability > 0); Assert.IsNotNull(item.AllowableClasses); Assert.AreEqual(1, item.AllowableClasses.Count); Assert.AreEqual(ClassKey.Druid, item.AllowableClasses[0]); Assert.IsNotNull(item.ItemSet); Assert.IsNotNull(item.ItemSet.Bonuses); Assert.AreEqual(2, item.ItemSet.Bonuses.Count); Assert.IsTrue(item.ItemSet.Id > 0); Assert.IsNotNull(item.ItemSet.Name); Assert.IsNotNull(item.ItemSet.ToString()); Assert.IsNotNull(item.ItemSet.Bonuses[0].ToString()); Assert.IsNotNull(item.ItemSet.Bonuses[0].Description); Assert.AreEqual(2, item.ItemSet.Bonuses[0].Threshold); Assert.IsNotNull(client.GetItemSetAsync(item.ItemSet.Id).Result); }
public void TestItemAgilityCloak() { const int id = 77095; // Batwing Cloak var client = new WowClient(TestConstants.TestRegion, "en-gb"); var item = client.GetItemAsync(id).Result; Assert.IsNotNull(item.Name); Assert.AreEqual(item.Name, item.ToString()); Assert.IsTrue(item.BaseArmor > 0); Assert.IsTrue(item.SellPrice > 0); Assert.IsTrue(item.DisenchantingSkillRank.HasValue && item.DisenchantingSkillRank.Value > 0); Assert.IsTrue(item.Equippable); Assert.IsNotNull(item.SocketInfo); Assert.IsNotNull(item.SocketInfo.Sockets); Assert.IsNotNull(item.SocketInfo.SocketBonus); Assert.AreEqual(1, item.SocketInfo.Sockets.Count); Assert.AreEqual(SocketTypes.Red, item.SocketInfo.Sockets[0].SocketType); Assert.IsNotNull(item.SocketInfo.Sockets[0].ToString()); Assert.IsTrue(item.HasSockets); Assert.AreEqual(id, item.Id); Assert.AreEqual(ItemInventoryType.Back, item.InventoryType); Assert.AreEqual(397, item.ItemLevel); Assert.AreEqual(ItemQuality.Epic, item.ItemQuality); Assert.IsTrue(item.RequiredLevel >= 85); Assert.IsTrue(item.DisplayInfoId > 0); Assert.AreEqual(ItemBindType.BindOnPickup, item.BindType); Assert.IsNotNull(item.BonusStats); Assert.IsTrue(item.BonusStats.Count > 0); Assert.IsNotNull(item.BonusStats[0]); Assert.IsNotNull(item.BonusStats[0].ToString()); Assert.IsFalse(item.BonusStats[0].IsReforged); Assert.IsTrue(item.BonusStats[0].Amount > 0); Assert.IsTrue(item.BonusStats.Any(b => b.StatType == ItemStatType.Agility)); }
public void TestGem() { int id = 52255; // Bold Chimera's Eye var client = new WowClient(TestConstants.TestRegion, "en-gb"); var item = client.GetItemAsync(id).Result; Assert.IsNotNull(item.GemInfo); Assert.IsNotNull(item.GemInfo.Bonus); Assert.IsNotNull(item.GemInfo.Bonus.Name); Assert.IsNotNull(item.GemInfo.Bonus.ToString()); Assert.IsNotNull(item.GemInfo.TypeOfGem); Assert.AreEqual(item.GemInfo.TypeOfGem.SocketType.ToString(), item.GemInfo.TypeOfGem.ToString()); Assert.IsTrue(item.GemInfo.Bonus.ItemLevel > 0); Assert.IsTrue(item.GemInfo.Bonus.MinimumLevel >= 0); Assert.IsTrue(item.GemInfo.Bonus.RequiredSkillId == Skill.JewelCrafting); Assert.IsTrue(item.GemInfo.Bonus.RequiredSkillRank > 0); Assert.IsTrue(item.GemInfo.Bonus.SourceItemId == id); Assert.IsTrue(item.RequiredProfession == Skill.JewelCrafting); Assert.IsTrue(item.RequiredProfessionRank > 0); id = 49110; // nightmare tear item = client.GetItemAsync(id).Result; Assert.IsNotNull(item.GemInfo); Assert.IsNotNull(item.GemInfo.Bonus); Assert.IsNotNull(item.GemInfo.TypeOfGem); Assert.AreEqual(SocketTypes.Prismatic, item.GemInfo.TypeOfGem.SocketType); Assert.AreEqual(item.GemInfo.TypeOfGem.SocketType.ToString(), item.GemInfo.TypeOfGem.ToString()); Assert.IsTrue(item.GemInfo.Bonus.ItemLevel > 0); Assert.IsTrue(item.GemInfo.Bonus.MinimumLevel >= 0); Assert.IsTrue(item.GemInfo.Bonus.SourceItemId == id); id = 59477; // subtle cogwheel item = client.GetItemAsync(id).Result; Assert.IsNotNull(item.GemInfo); Assert.IsNotNull(item.GemInfo.Bonus); Assert.IsNotNull(item.GemInfo.TypeOfGem); Assert.AreEqual(SocketTypes.Cogwheel, item.GemInfo.TypeOfGem.SocketType); Assert.AreEqual(item.GemInfo.TypeOfGem.SocketType.ToString(), item.GemInfo.TypeOfGem.ToString()); Assert.IsTrue(item.GemInfo.Bonus.ItemLevel > 0); Assert.IsTrue(item.GemInfo.Bonus.MinimumLevel >= 0); Assert.IsTrue(item.GemInfo.Bonus.SourceItemId == id); id = 68356; // Willful Ember Topaz item = client.GetItemAsync(id).Result; Assert.IsNotNull(item.GemInfo); Assert.IsNotNull(item.GemInfo.Bonus); Assert.IsNotNull(item.GemInfo.TypeOfGem); Assert.AreEqual(SocketTypes.Orange, item.GemInfo.TypeOfGem.SocketType); Assert.AreEqual(item.GemInfo.TypeOfGem.SocketType.ToString(), item.GemInfo.TypeOfGem.ToString()); Assert.IsTrue(item.GemInfo.Bonus.ItemLevel > 0); Assert.IsTrue(item.GemInfo.Bonus.MinimumLevel >= 0); Assert.IsTrue(item.GemInfo.Bonus.SourceItemId == id); Assert.IsTrue(item.IsAuctionable); Assert.IsTrue(item.MaxStackSize > 1); Assert.IsTrue(item.BuyPrice > 0); Assert.IsTrue(item.IsAuctionable); id = 89873; // Crystallized Dread item = client.GetItemAsync(id).Result; Assert.IsNotNull(item.GemInfo); Assert.IsNotNull(item.GemInfo.Bonus); Assert.IsNotNull(item.GemInfo.TypeOfGem); Assert.AreEqual(SocketTypes.Hydraulic, item.GemInfo.TypeOfGem.SocketType); Assert.AreEqual(item.GemInfo.TypeOfGem.SocketType.ToString(), item.GemInfo.TypeOfGem.ToString()); Assert.IsTrue(item.GemInfo.Bonus.ItemLevel > 0); Assert.IsTrue(item.GemInfo.Bonus.MinimumLevel >= 0); Assert.IsTrue(item.GemInfo.Bonus.SourceItemId == id); Assert.IsNotNull(item.Description); id = 52296; // Ember Shadowspirit Diamond item = client.GetItemAsync(id).Result; Assert.IsNotNull(item.GemInfo); Assert.IsNotNull(item.GemInfo.Bonus); Assert.IsNotNull(item.GemInfo.TypeOfGem); Assert.AreEqual(SocketTypes.Meta, item.GemInfo.TypeOfGem.SocketType); Assert.AreEqual(item.GemInfo.TypeOfGem.SocketType.ToString(), item.GemInfo.TypeOfGem.ToString()); Assert.IsTrue(item.GemInfo.Bonus.ItemLevel > 0); Assert.IsTrue(item.GemInfo.Bonus.MinimumLevel >= 0); Assert.IsTrue(item.GemInfo.Bonus.SourceItemId == id); }
/// <summary> /// Gets accessing WOW API Asynchronously /// </summary> /// <returns></returns> private async static Task TestWowClientAsync() { string privateKey = ConfigurationManager.AppSettings["PrivateKey"]; string publicKey = ConfigurationManager.AppSettings["PublicKey"]; var pair = new ApiKeyPair(publicKey, privateKey); // Init client var client = new WowClient(Region.EU, pair, "en-gb", null); // Character var character = await client.GetCharacterAsync("kazzak", "Grendiser", CharacterFields.All); // Refresh character info await character.RefreshAsync(client); // Gee pet types var petTypes = await client.GetBattlePetTypesAsync(); // Get challenge leaders var kazzakChallengeLeaders = await client.GetChallengeLeadersAsync("kazzak"); var euChallengeLeaders = await client.GetChallengeLeadersAsync(null); // Get battle groups var bgs = await client.GetBattleGroupsAsync(); // Get rewards var rewards = await client.GetGuildRewardsAsync(); // Get perks var perks = await client.GetGuildPerksAsync(); // Get realms var realms = await client.GetRealmStatusAsync(); // Get classes var classes = await client.GetClassesAsync(); // Get item categories var itemCategories = await client.GetItemCategoryNamesAsync(); // Get races var races = await client.GetRacesAsync(); // Get character achievements var characterAchievements = await client.GetCharacterAchievementsAsync(); // Get guild achievements var guildAchievements = await client.GetGuildAchievementsAsync(); // Get quest var quest = await client.GetQuestAsync(23); // Get talents var talents = await client.GetTalentsAsync(); // Get PVP information var topArenaPlayers = await client.GetPvpLeaderboardAsync(PvpBracket.Arena5v5); var topBgPlayers = await client.GetPvpLeaderboardAsync(PvpBracket.RatedBattleground); // Get item set var itemSet = await client.GetItemSetAsync(1058); // Get ability var ability = await client.GetBattlePetAbilityAsync(640); var petSpecies = await client.GetBattlePetSpeciesAsync(258); // Get guild var guild = await client.GetGuildAsync(character.Realm, character.Guild.Name, GuildFields.All); // Get items var itemsTasks = character.Items.AllItems.Select( equippedItem => client.GetItemAsync(equippedItem.ItemId)).ToArray(); var allItemsTask = new Task <WOWSharp.Community.Wow.Item[]>(() => { Task.WaitAll(itemsTasks); return(itemsTasks.Select(t => t.Result).ToArray()); }); allItemsTask.Start(); var items = await allItemsTask; var gems = character.Items.AllItems.Where(ei => ei.Parameters != null) .SelectMany(ei => new[] { ei.Parameters.Gem0, ei.Parameters.Gem1, ei.Parameters.Gem2, ei.Parameters.Gem3 }) .Where(gemid => gemid != null) .Distinct(); // Get AH dump var auctions = await client.GetAuctionDumpAsync(character.Realm); }
/// <summary> /// Test accessing wow client synchronously /// </summary> public static void TestWowClient() { // Init client WowClient client = new WowClient(Region.EU); // Get character data var character = client.GetCharacterAsync("Khaz Modan", "Xenøphik", CharacterFields.All).Result; Console.WriteLine(character.ToString()); character.Stats.pv var progress = character.Progression.Raids; foreach (CharacterInstanceProgression c in progress) { Console.WriteLine(c.ToString()); } // Get realm challenge leaders var HyjalChallengeLeaders = client.GetChallengeLeadersAsync("Hyjal").Result; Console.WriteLine(HyjalChallengeLeaders.ToString()); // Get EU challenge leader var euChallengeLeaders = client.GetChallengeLeadersAsync(null).Result; Console.WriteLine(euChallengeLeaders.ToString()); // Get battle groups var bgs = client.GetBattleGroupsAsync().Result; // Get guild rewards var rewards = client.GetGuildRewardsAsync().Result; // Get guild perks var perks = client.GetGuildPerksAsync().Result; // Get realms var realms = client.GetRealmStatusAsync().Result; Console.WriteLine(realms.ToString()); // Get classes var classes = client.GetClassesAsync().Result; // Get item categories var itemCategories = client.GetItemCategoryNamesAsync().Result; // Get races var races = client.GetRacesAsync().Result; // Get character achievements var characterAchievements = client.GetCharacterAchievementsAsync().Result; // get guild achievements var guildAchievements = client.GetGuildAchievementsAsync().Result; // Get quest var quest = client.GetQuestAsync(23).Result; // Get PVP information var topArenaPlayers = client.GetPvpLeaderboardAsync(PvpBracket.Arena5v5).Result; var topBgPlayers = client.GetPvpLeaderboardAsync(PvpBracket.RatedBattleground).Result; // Get battle pet info var ability = client.GetBattlePetAbilityAsync(640).Result; var petSpecies = client.GetBattlePetSpeciesAsync(258).Result; // Get guild var guild = client.GetGuildAsync(character.Realm, character.Guild.Name, GuildFields.All).Result; Console.WriteLine(guild.ToString()); // Get items var itemsTasks = character.Items.AllItems.Select( equippedItem => client.GetItemAsync(equippedItem.ItemId)).ToArray(); var items = character.Items.AllItems.Select(equipped => client.GetItemAsync(equipped.ItemId).Result).ToArray(); var gems = character.Items.AllItems.Where(ei => ei.Parameters != null) .SelectMany(ei => new[] { ei.Parameters.Gem0, ei.Parameters.Gem1, ei.Parameters.Gem2, ei.Parameters.Gem3 }) .Where(gemid => gemid != null) .Distinct(); Console.WriteLine(items.ToString()); // Get AH dump var auctions = client.GetAuctionDumpAsync(character.Realm).Result; }