Beispiel #1
0
        private static async Task BillGates()
        {
            var v = new Verifier();

            //var dt = new ReceiverHtmlAHref(@"https://www.gatesnotes.com/Books#All",Encoding.UTF8);
            //var dt = new ReceiverHtmlRegex(@"C:\Users\Surface1\Documents\bg.txt", Encoding.UTF8, @".(?:href=)(?<book>.+?)(?:#disqus).*?");
            var dt   = new ReceiverHtmlRegex(@"C:\Users\Surface1\Documents\bg.txt", Encoding.UTF8, @".(?:href=\\"")(?<book>.+?)(?:#disqus).*?");
            var data = await dt.TransformData(null);

            await v.TransformData(data);

            var books = new FilterRetainColumnDataContains(data.Metadata.Columns[0].Name, "ooks");

            data = await books.TransformData(data);

            await v.TransformData(data);

            var t = new TransformerOneTableToMulti <ReceiverHtmlMeta>("file", data.Metadata.Columns[0].Name, new CtorDictionary());

            data = await t.TransformData(data);

            await v.TransformData(data);

            data = await new FilterTablesWithColumn("meta_name").TransformData(data);
            await v.TransformData(data);

            data = await new FilterTablesWithColumn("meta_name").TransformData(data);
            await v.TransformData(data);

            data = await new TransformerToOneTable().TransformData(data);
            await v.TransformData(data);

            books = new FilterRetainColumnDataContains("meta_name", "keywords");
            data  = await books.TransformData(data);

            await v.TransformData(data);

            var excel = new SenderExcel(@"bg.xslx");

            data = await excel.TransformData(data);

            data = await v.TransformData(data);
        }
Beispiel #2
0
        [Example(@"Assets/bg.html", @"\b(?<FirstWord>\w+)\s?((\w+)\s)*(?<LastWord>\w+)?(?<Punctuation>\p{Po})", 3, 1)]//https://docs.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.regex.getgroupnames?view=netframework-4.7.2
        public void TestSimple(string fileName, string regEx, int numberCols, int numberRows)
        {
            IReceive receiver = null;
            var      nl       = Environment.NewLine;


            IDataToSent data = null;

            $"Given the file {fileName} ".w(() => { File.Exists(fileName).Should().BeTrue(); });
            $"When I create the ReceiverHtmlRegex  for the {fileName}".w(() =>
                                                                         receiver = new ReceiverHtmlRegex(fileName, Encoding.UTF8, regEx));
            $"And I read the data".w(async() => data = await receiver.TransformData(null));
            $"Then should be a data".w(() => data.Should().NotBeNull());
            $"With a table".w(() =>
            {
                data.DataToBeSentFurther.Should().NotBeNull();
                data.DataToBeSentFurther.Count.Should().Be(1);
            });
            $"The number of cols should be {numberCols}".w(() => data.DataToBeSentFurther[0].Columns.Count.Should().Be(numberCols));
            $"The number of rows should be {numberRows}".w(() => data.DataToBeSentFurther[0].Rows.Count.Should().Be(numberRows));
        }