示例#1
0
 public void NoTroops()
 {
     HtmlDocument htmlDocument = new HtmlDocument();
     htmlDocument.Load("..\\..\\Test Files\\dorf1.php.1.village.html");
     HtmlParser htmlParser = new HtmlParser(htmlDocument);
     Troops troops = htmlParser.GetAvailableTroops();
     Assert.IsNotNull(troops, "troops is null!");
     Assert.AreEqual(0, troops.GetTroopCount("unit u21"), "Falanga!");
 }
示例#2
0
 public void HtmlParserAvailableTroops()
 {
     HtmlDocument htmlDocument = new HtmlDocument();
     htmlDocument.Load("..\\..\\Test Files\\dorf1.php.html");
     HtmlParser htmlParser = new HtmlParser(htmlDocument);
     Troops troops = htmlParser.GetAvailableTroops();
     Assert.IsNotNull(troops, "troops is null!");
     Assert.AreEqual(1, troops.GetTroopCount("unit u21"), "Falanga!");
     Assert.AreEqual(1, troops.GetTroopCount("unit uhero"), "Heroj!");
     Assert.AreEqual(5, troops.GetTroopCount("unit u23"), "Stezosledcev!");
     Assert.AreEqual(30, troops.GetTroopCount("unit u25"), "Druidov!");
     Assert.AreEqual(0, troops.GetTroopCount("unit xxx"), "Crap!");
 }
示例#3
0
 /// <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);
 }