public void FindEntitiesTest()
        {
            AvitoEntity[] entities =
                new HtmlXPathTemplateFinder <AvitoEntity>(
                    new HtmlXPathTemplateReader(
                        File.ReadAllText(Constants.AvitoXPathTemplateFile),
                        new HtmlTemplateOptions(
                            tabulator: "    ",
                            Environment.NewLine)),
                    new JsonEntityFactory <AvitoEntity>(),
                    new HtmlXPathTemplateFinderOptions(trimValues: true, readTemplateOnInit: true))
                .FindEntities(File.ReadAllText(Constants.AvitoHtmlFile))
                .ToArray();

            entities.Length.Should().Be(50);

            for (int i = 0; i < entities.Length; i++)
            {
                var entity = entities[i];
                entity.url.Should().NotBeNullOrEmpty();
                entity.img.Should().NotBeNullOrEmpty();
                entity.price.Should().NotBeNullOrEmpty();
                entity.title.Should().NotBeNullOrEmpty();
                entity.category.Should().NotBeNullOrEmpty();
                entity.address.Should().NotBeNullOrEmpty();
                entity.date.Should().NotBeNullOrEmpty();
            }

            VerifyAnEntity(entities.First());
        }
Exemplo n.º 2
0
        public void FindEntitiesTest()
        {
            string[] entities =
                new HtmlXPathTemplateFinder <string>(
                    new HtmlXPathTemplateReader(
                        File.ReadAllText(Constants.TestXPathTemplateFile),
                        new HtmlTemplateOptions(
                            tabulator: "\t",
                            Environment.NewLine)),
                    new NopEntityFactory(),
                    new HtmlXPathTemplateFinderOptions(trimValues: true, readTemplateOnInit: true, skipEmptyEntities: true))
                .FindEntities(File.ReadAllText(Constants.HtmlFile))
                .ToArray();

            entities.Length.Should().Be(2);
            entities[0].Should().Be("{\r\n\t\"innerText\": \"1\",\r\n\t\"attribute\": \"one\",\r\n}");
            entities[1].Should().Be("{\r\n\t\"innerText\": \"4\",\r\n\t\"attribute\": \"four\",\r\n}");
        }