private static async Task Propriu() { var v = new Verifier(); var dt = new ReceiverXML(@"C:\Users\Surface1\Downloads\blogpropriu.wordpress.2018-10-06.xml", Encoding.UTF8, @"//item/category[@nicename=""carti-5-stele""]/.."); var data = await dt.TransformData(null); await v.TransformData(data); data = await new TransformerXMLToColumn("OuterXML", "//title", "title", ",").TransformData(data); await v.TransformData(data); data = await new TransformerXMLToColumn("OuterXML", "//category", "category", ",").TransformData(data); await v.TransformData(data); data = await new TransformerXMLToColumn("OuterXML", @"//*[name()=""content:encoded""]", "content", ",").TransformData(data); await v.TransformData(data); data = await new TransformerOneTableToMulti <TransformerHtmlAHref>("Content", "content", new CtorDictionary()).TransformData(data); await v.TransformData(data); data = await new FilterTablesWithColumn("href").TransformData(data); await v.TransformData(data); data = await new TransformerToOneTable().TransformData(data); await v.TransformData(data); data = await new FilterRetainColumnDataContains("href", "amazon").TransformData(data); //await v.TransformData(data); //data = await new RetainColumnDataContains("a_text", "Lord of Light").TransformData(data); await v.TransformData(data); data = await new TransformerOneTableToMulti <AmazonMeta>("file", "href", new CtorDictionary()).TransformData(data); await v.TransformData(data); data = await new FilterTablesWithColumn("meta_content").TransformData(data); await v.TransformData(data); data = await new TransformerToOneTable().TransformData(data); await v.TransformData(data); var excel = new SenderExcel(@"andrei.xslx"); data = await excel.TransformData(data); data = await v.TransformData(data); }
public void TestReceiverSimpleBNR(string fileName, int NumberRows) { IReceive receiver = null; IDataToSent data = null; $"Given the file {fileName} ".w(() => { File.Exists(fileName).Should().BeTrue(); }); $"When I create the r{nameof(ReceiverXML)} for the {fileName}".w(() => receiver = new ReceiverXML(fileName, null, "//*[name()='Rate']")); $"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 rows should be {NumberRows}".w(() => data.DataToBeSentFurther[0].Rows.Count.Should().Be(NumberRows)); }
public void TestTransformerToColumns(string fileName, int NumberRows, string currencyName, string ValueName, string valueEur) { IReceive receiver = null; IDataToSent data = null; $"Given the file {fileName} ".w(() => { File.Exists(fileName).Should().BeTrue(); }); $"When I create the {nameof(ReceiverXML)} for the {fileName}".w(() => receiver = new ReceiverXML(fileName, null, "//*[name()='Rate']")); $"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 rows should be {NumberRows}".w(() => data.DataToBeSentFurther[0].Rows.Count.Should().Be(NumberRows)); $"And I transform the data with {nameof(TransformerXMLToColumn)} for {currencyName}".w(async () => data = await new TransformerXMLToColumn("OuterXML", $"//@{currencyName}", currencyName, ",").TransformData(data)); $"the table should contain {nameof(currencyName)}".w(() => data.Metadata.Columns.FirstOrDefault(it => it.Name == currencyName).Should().NotBeNull()); $"the table should contain {nameof(ValueName)}".w(() => data.Metadata.Columns.FirstOrDefault(it => it.Name == ValueName).Should().NotBeNull()); $"and the data should contain for EUR {nameof(valueEur)}".w(() => { DataView dv = new DataView(data.DataToBeSentFurther[0]); dv.RowFilter = $"{currencyName}='EUR'"; dv.Count.Should().Be(1); var row = dv[0].Row; row[ValueName].ToString().Should().Be(valueEur); }); }