Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        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());
        }
Example #8
0
        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);
        }
Example #9
0
        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));
        }
Example #10
0
        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);
        }
Example #11
0
        /// <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);
        }
Example #12
0
        /// <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;
        }