public void ParseSiteTest() { //Get tokens and parse it SiteParser siteParser = new SiteParser(Init("site/index.html : home(\"argument\")\nend")); Site parsedSite = siteParser.ParseSite(); //Test mappings of site Assert.AreEqual(1, parsedSite.GetMappings().Count); Mapping[] mappingArray = (Mapping[])parsedSite.GetMappings().ToArray(); Mapping mapping = mappingArray[0]; //Test path of site Assert.AreEqual("site/index.html", mapping.GetPath().ToString()); //Test markup of site Markup parsedMarkup = mapping.GetMarkup(); Assert.AreEqual("home", parsedMarkup.GetDesignator().GetIdentifier()); Assert.AreEqual(1, parsedMarkup.GetArguments().Count); //Test argument Argument[] argumentArray = (Argument[])parsedMarkup.GetArguments().ToArray(); Assert.AreEqual(typeof(ExpressionArgument), argumentArray[0].GetType()); Assert.AreEqual("argument", argumentArray[0].ToString()); }
public async Task <ReadOnlyCollection <Uri>[]> GetWebsitesLinksAsync(string[] urls) { var messageWorker = new MessageWorker(); var absoluteLinkParser = new AbsoluteLinkParserCore(); var hrefLinkParserCore = new HrefLinkParserCore(); var linkParsers = new List <IParserLinkCore>() { absoluteLinkParser, hrefLinkParserCore }; List <SiteParser> siteParsers = new List <SiteParser>(); Dictionary <SiteParser, Uri> dictionary = new Dictionary <SiteParser, Uri>(); foreach (var site in urls) { var siteParser = new SiteParser(messageWorker); siteParsers.Add(siteParser); dictionary.Add(siteParser, new Uri(site)); } var tasks = siteParsers.Select(i => { return(i.GetUrlTreeAsync(linkParsers, dictionary[i])); }); var parsedLinks = await Task.WhenAll(tasks); Console.WriteLine("All site are parsed."); return(parsedLinks); }
public ActionResult GetValues(int?typeId) { if (typeId != null) { var model = TempData["Model"] as FoodItemViewModel; TempData.Keep(); var foodType = db.FoodItemTypes.Find(typeId); foodType.Score = SiteParser.GetTypeScore(model.FoodItem, foodType); return(Json(new { Success = "true", Data = new { Id = foodType.Id, TypeName = foodType.TypeName, Unit = foodType.Unit, Calories = foodType.Calories, Carbs = foodType.Carbs, Fats = foodType.Fats, Protein = foodType.Protein, Fibre = foodType.Fibre, GlycemicIndex = foodType.GlycemicIndex, CarbsDiff = foodType.CarbsDiff, FatDiff = foodType.FatDiff, ProteinDiff = foodType.ProteinDiff, FibreDiff = foodType.FibreDiff } })); } return(Json(new { Success = "false" })); }
public void TestThatValidSiteObjectIsCreatedWithValidSiteInformation() { Site site = SiteParser.GenerateSiteObjectFromRow(cellList, false); var results = HelperTestModel.Validate(site); Assert.AreEqual(0, results.Count); }
private static async Task <MfpDay> GetDay(MfpDay mfpDay) { string searchLink = "https://www.myfitnesspal.com/food/diary/thephoenix25?date="; // date=2020-02-14 string date = mfpDay.SelectedDate.ToString("yyyy-MM-dd"); string website = searchLink + date; return(await SiteParser.Parse(website, mfpDay)); }
public void TestThatParseSiteAddress200CharValid() { string testString = new string('a', 200); string address = SiteParser.ParseAddress(testString); Assert.IsTrue(address.Length == 200); }
public void TestThatParseSiteAddressTooLongReturnsEmptyString() { string testString = new String('a', 201); string address = SiteParser.ParseAddress(testString); Assert.IsTrue(address.Length == 0); }
private void button_Click(object sender, RoutedEventArgs e) { SiteParser siteParser = new SiteParser(); siteParser.CompleteConvertEvent += SiteParser_CompleteConvertEvent; siteParser.BeginParse(); comboBoxGoods.SelectionChanged += ComboBoxGoods_SelectionChanged; }
public void ParseFileNameTest() { //Get tokens and parse it TokenIterator tokens = Init("filename.ext"); SiteParser siteParser = new SiteParser(tokens); FileName output = siteParser.ParseFileName(); Assert.AreEqual("filename", output.GetName().GetPathElement()); Assert.AreEqual("ext", output.GetFileExtension().GetFileExtension()); }
public void TestThatSiteObjectWithAddressOf200PassesValidation() { // Address field cellList[7] = new string('a', 200); Site site = SiteParser.GenerateSiteObjectFromRow(cellList, false); var results = HelperTestModel.Validate(site); Assert.AreEqual(0, results.Count); }
public void ParseMappingsTest() { //Set up parser TokenIterator tokens = Init("site/home.html : home(); site2/home.html : home2()"); SiteParser siteParser = new SiteParser(tokens); Mapping[] parsedMappings = (Mapping[])siteParser.ParseMappings().ToArray(); //Test mappings Assert.AreEqual(2, parsedMappings.Length); }
public void Stop() { if (this._parser == null) { return; } var prsr = this._parser; this._parser = null; prsr.Dispose(); }
public void TestThatSiteObjectWithPickupDayOfInvalidFailsValidation() { // PickupDay field cellList[15] = "sdfafa"; Site site = SiteParser.GenerateSiteObjectFromRow(cellList, false); var results = HelperTestModel.Validate(site); Assert.AreEqual(1, results.Count); Assert.AreEqual("Specified Pickup Days are invalid", results[0].ErrorMessage); }
public void TestThatSiteObjectWithFrequencyOfInvalidFailsValidation() { // Frequency field cellList[10] = "sdfafa"; Site site = SiteParser.GenerateSiteObjectFromRow(cellList, false); var results = HelperTestModel.Validate(site); Assert.AreEqual(1, results.Count); Assert.AreEqual("Pickup Frequency must be Weekly or BiWeekly", results[0].ErrorMessage); }
public void TestThatSiteObjectWithAddressOf201FailsValidation() { // Address field cellList[7] = new string('a', 201); Site site = SiteParser.GenerateSiteObjectFromRow(cellList, false); var results = HelperTestModel.Validate(site); Assert.AreEqual(1, results.Count); Assert.AreEqual("Address must be 1 to 200 characters", results[0].ErrorMessage); }
private void CreateParser() { if (this._parser != null) { return; } this._parser = new SiteParser("https://vk.com/feed"); this._parser.MainDataParsed += this.OnMainDataParsed; this._parser.LinksParsed += this.OnLinksParsed; this._parser.ImagesParsed += this.OnImagesParsed; this._parser.Done += this.OnFinished; }
public void TestThatParseSitePickupDaysValidPickupDays() { string[] collectionDays = new string[4]; collectionDays[0] = "1005"; collectionDays[1] = "2005"; collectionDays[2] = ""; collectionDays[3] = ""; Site.PickupDays pickupDays = SiteParser.ParsePickupDays(collectionDays); Assert.IsTrue(pickupDays == Site.PickupDays.Friday); }
public void ParseDirectoryTest() { //Get tokens and parse it TokenIterator tokens = Init("directory1\\directory2\\filename.ext"); SiteParser siteParser = new SiteParser(tokens); Dir output = siteParser.ParseDirectory(); //Check output Assert.AreEqual(2, output.GetDirectoryElements().Count); //Check directory's Assert.AreEqual("directory1", output.GetDirectoryElements().Get(0).ToString()); Assert.AreEqual("directory2", output.GetDirectoryElements().Get(1).ToString()); }
public void TestThatParseSitePickupDaysWithInvalidDaysReturnsInvalid() { string[] collectionDays = new string[] { "SomeRandomString", "String", "1092", "12321" }; Site.PickupDays pickupDays = SiteParser.ParsePickupDays(collectionDays); Assert.IsTrue(pickupDays == Site.PickupDays.Invalid); }
public void TestThatTooFewColumnsInExcelSheetReturnsASiteObjectWithIDOfNegativeTwo() { cellList.Remove(cellList[5]); cellList.Remove(cellList[6]); Site site = SiteParser.GenerateSiteObjectFromRow(cellList, true); var results = HelperTestModel.Validate(site); Assert.AreEqual(3, results.Count); Assert.AreEqual("The siteID must be a valid integer", results[0].ErrorMessage); Assert.AreEqual("Pickup Frequency must be Weekly or BiWeekly", results[1].ErrorMessage); Assert.AreEqual("Specified Pickup Days are invalid", results[2].ErrorMessage); }
public void TestThatTooManyColumnsInExcelSheetReturnsASiteObjectWithIDOfNegativeTwo() { // Adding an extra column (which is 1 too many) cellList.Add("Sdawdawdawdaw"); Site site = SiteParser.GenerateSiteObjectFromRow(cellList, true); var results = HelperTestModel.Validate(site); Assert.AreEqual(3, results.Count); Assert.AreEqual("The siteID must be a valid integer", results[0].ErrorMessage); Assert.AreEqual("Pickup Frequency must be Weekly or BiWeekly", results[1].ErrorMessage); Assert.AreEqual("Specified Pickup Days are invalid", results[2].ErrorMessage); }
public void TestThatParseSitePickupDaysWithMultipleDaysIsValid() { string[] collectionDays = new string[] { "1002", "1005", "2002", "2005", }; Site.PickupDays pickupDays = SiteParser.ParsePickupDays(collectionDays); Assert.IsTrue(pickupDays == (Site.PickupDays.Tuesday | Site.PickupDays.Friday)); }
public void ParseSingleMappingTest() { //Set up parser TokenIterator tokens = Init("site/home.html : home()"); SiteParser siteParser = new SiteParser(tokens); Mapping mapping = siteParser.ParseMapping(); //Test path of site Assert.AreEqual("site/home.html", mapping.GetPath().ToString()); //Test markup of site Markup parsedMarkup = mapping.GetMarkup(); Assert.AreEqual("home", parsedMarkup.GetDesignator().GetIdentifier()); Assert.AreEqual(0, parsedMarkup.GetArguments().Count); }
public void TestThatHeaderRowWithValidDataReturnsASiteObjectWithSiteIDOf1() { cellList[1] = "Site ID"; cellList[7] = "Full Address"; cellList[10] = "Frequency"; cellList[15] = "Collection1"; cellList[16] = "Collection2"; cellList[17] = "Collection3"; cellList[18] = "Collection4"; Site site = SiteParser.GenerateSiteObjectFromRow(cellList, true); Assert.AreEqual(1, site.siteID); var results = HelperTestModel.Validate(site); Assert.AreEqual(0, results.Count); }
public void TestThatHeaderRowWithInValidDataReturnsAnInvalidSiteObject() { cellList[1] = "Site ID"; cellList[7] = "Full Address"; cellList[10] = "Frequency"; cellList[15] = "Colleasdasction1"; cellList[16] = "Collection2"; cellList[17] = "Collection3"; cellList[18] = "Collection4"; Site site = SiteParser.GenerateSiteObjectFromRow(cellList, true); var results = HelperTestModel.Validate(site); Assert.AreEqual(3, results.Count); Assert.AreEqual("The siteID must be a valid integer", results[0].ErrorMessage); Assert.AreEqual("Pickup Frequency must be Weekly or BiWeekly", results[1].ErrorMessage); Assert.AreEqual("Specified Pickup Days are invalid", results[2].ErrorMessage); }
public void ParseDirectoryNameTest() { //Get tokens and parse it TokenIterator tokens = Init("home\\site\\test.wae"); SiteParser siteParser = new SiteParser(tokens); DirName output = siteParser.ParseDirectoryName(); Dir directory = output.GetDirectory(); //Check output Assert.AreEqual(2, directory.GetDirectoryElements().Count); //Get directory's and transfer to array to provide walking List <ISyntaxNode> .Enumerator directoryEnumerator = directory.GetDirectoryElements().GetEnumerator(); //Check directory's directoryEnumerator.MoveNext(); Assert.AreEqual("home", ((PathElement)directoryEnumerator.Current).GetPathElement()); directoryEnumerator.MoveNext(); Assert.AreEqual("site", ((PathElement)directoryEnumerator.Current).GetPathElement()); }
public void TestMust_ParseCalcResponseSuccess() { //arrange ValidateCalcRequest validation = new ValidateCalcRequest("MOW", "LED", "01.08.2016", "01.09.2016", "1"); validation.Validate(); CalcRequest request = validation.GetCalcRequest(); //act //ISiteParser aeroflotParser = new FakeParser(); ISiteRequests aeroflotRequests = new FakeRequests(); SiteParser parser = new SiteParser(new AeroflotParser(), aeroflotRequests); parser.CalcRequestData = request; parser.GetCalc(); CalcResponse response = parser.GetCalcResponse(); //assert Assert.IsTrue(response != null); }
public void ParsePathTest() { //Get tokens and parse it TokenIterator tokens = Init("site/home.html"); SiteParser siteParser = new SiteParser(tokens); Pth path = siteParser.ParsePath(); //Get structures of path Dir directory = path.GetDirectoryName().GetDirectory(); PathElement pathElement = (PathElement)directory.GetDirectoryElements().Get(0); FileName filename = path.GetFilename(); //Check directory Assert.AreEqual(1, directory.GetDirectoryElements().Count); Assert.AreEqual("site", pathElement.GetPathElement()); //Check filename Assert.AreEqual("home", filename.GetName().GetPathElement()); Assert.AreEqual("html", filename.GetFileExtension().GetFileExtension()); }
public void TestThatInvalidSiteObjectIsCreatedWithInvalidSiteInformation() { // Site ID cellList[1] = "jdasdfa"; // Address cellList[7] = ""; // Frequency cellList[10] = "jdfsal"; // Collection1 cellList[15] = "23kjl32"; Site site = SiteParser.GenerateSiteObjectFromRow(cellList, false); var results = HelperTestModel.Validate(site); Assert.AreEqual(4, results.Count); Assert.AreEqual("The siteID must be a valid integer", results[0].ErrorMessage); Assert.AreEqual("Address must be 1 to 200 characters", results[1].ErrorMessage); Assert.AreEqual("Pickup Frequency must be Weekly or BiWeekly", results[2].ErrorMessage); Assert.AreEqual("Specified Pickup Days are invalid", results[3].ErrorMessage); }
public CalcResponse Get(string origin, string destination, string departureDate, string returnDate, string numAdults) { CalcResponse calcResponse = new CalcResponse(); ValidateCalcRequest validation = new ValidateCalcRequest(origin, destination, departureDate, returnDate, numAdults); validation.NumAdults = 1; string validateResult = validation.Validate(); if (validation.RequestValidated) { CalcRequest request = validation.GetCalcRequest(); ISiteRequests aeroflotRequests = new AeroflotRequests(); SiteParser parser = new SiteParser(new AeroflotParser(), aeroflotRequests); parser.CalcRequestData = request; parser.GetCalc(); calcResponse = parser.GetCalcResponse(); } else { calcResponse.Error = validateResult; } return(calcResponse); }