public void NotEnoughResourcesForUpgrade() { HtmlDocument htmlDocument = new HtmlDocument(); htmlDocument.Load("..\\..\\Test Files\\build.php.html"); HtmlParser htmlParser = new HtmlParser(htmlDocument); ResourcesForUpgrade resourcesForUpgrade = htmlParser.GetResourcesForNextLevel(); Assert.AreEqual(2190, resourcesForUpgrade.Wood, "Wood"); Assert.AreEqual(2095, resourcesForUpgrade.Clay, "Clay"); Assert.AreEqual(2190, resourcesForUpgrade.Iron, "Iron"); Assert.AreEqual(750, resourcesForUpgrade.Crop, "Crop"); Assert.AreEqual(4, resourcesForUpgrade.CurrentLevel, "current level"); }
public void EnoughResourcesForUpgrade() { HtmlDocument htmlDocument = new HtmlDocument(); htmlDocument.Load("..\\..\\Test Files\\build.possible.php.html"); HtmlParser htmlParser = new HtmlParser(htmlDocument); ResourcesForUpgrade resourcesForUpgrade = htmlParser.GetResourcesForNextLevel(); Assert.AreEqual(945, resourcesForUpgrade.Wood, "Wood"); Assert.AreEqual(1180, resourcesForUpgrade.Clay, "Clay"); Assert.AreEqual(825, resourcesForUpgrade.Iron, "Iron"); Assert.AreEqual(235, resourcesForUpgrade.Crop, "Crop"); Assert.AreEqual("dorf2.php?a=19&c=238d2f", resourcesForUpgrade.UpgradeUrl, "url"); Assert.AreEqual(10, resourcesForUpgrade.CurrentLevel, "current level"); }
/// <summary> /// Updates the account info. /// </summary> private void UpdateAccountInfo() { UpdateStatus("UpdateAccountInfo"); HtmlParser htmlParser = new HtmlParser(htmlDocument); List<Village> villages = htmlParser.GetAvailableVillages(); string servername = settings.LoginData.Servername; if (villages.Count == 1) { string url = String.Format(CultureInfo.InvariantCulture, "{0}karte.php", servername); htmlDocument = htmlWeb.Load(url); //<h1>Zemljevid(<span id="x">-31</span>|<span id="y">-25</span>)</h1> HtmlNode htmlNode = htmlDocument.DocumentNode.SelectSingleNode("//h1"); if (htmlNode != null) { HtmlNode nodeX = htmlDocument.DocumentNode.SelectSingleNode("//span[@id='x']"); if (nodeX != null) { villages[0].CoordinateX = Misc.String2Number(nodeX.InnerText.Trim()); } HtmlNode nodeY = htmlDocument.DocumentNode.SelectSingleNode("//span[@id='y']"); if (nodeY != null) { villages[0].CoordinateY = Misc.String2Number(nodeY.InnerText.Trim()); } } } account.UpdateVillages(villages); foreach (Village village in villages) { string url = String.Format(CultureInfo.InvariantCulture, "{0}dorf1.php?newdid={1}", servername, village.Id); htmlDocument = htmlWeb.Load(url); htmlParser = new HtmlParser(htmlDocument); Production production = htmlParser.GetProduction(); village.UpdateProduction(production); Troops availableTroops = htmlParser.GetAvailableTroops(); village.UpdateTroopsInVillage(availableTroops); } List<BuildQueue> list = new List<BuildQueue>(); foreach (BuildQueue buildQueue in actions.BuildQueue) { string url = String.Format(CultureInfo.InvariantCulture, "{0}build.php?newdid={1}&id={2}", servername, buildQueue.VillageId, buildQueue.BuildingId); htmlDocument = htmlWeb.Load(url); htmlParser = new HtmlParser(htmlDocument); buildQueue.Resources = htmlParser.GetResourcesForNextLevel(); if (buildQueue.Level > buildQueue.Resources.CurrentLevel) { list.Add(buildQueue); } else { UpdateStatus("Removing " + buildQueue); } } actions.BuildQueue = list; SerializeActions(); UpdateListBoxBuildQueues(listBoxBuildQueues); UpdateComboBoxVillages(comboBoxMapVillages); UpdateComboBoxVillages(comboBoxRallyPointVillages); UpdateComboBoxVillages(comboBoxBuildQueueVillages); UpdateComboBoxVillages(comboBoxMarketPlaceSourceVillage); UpdateComboBoxVillages(comboBoxMarketPlaceDestinationVillage); UpdateComboBoxVillages(comboBoxMarketPlaceRepeatSourceVillage); }