public void ParseHtmlTests2019_1() { // serial vice dilu na jedne strance var html = GetEmbeddedResource("Prehrat2018-Steinar_Bragi-Planina-Vltava.html"); var parserResult = new RozhlasPrehrat2018PageParser().ParseHtml(html); Assert.IsNotNull(parserResult); Assert.IsNotNull(parserResult.LogSet); Assert.IsNotNull(parserResult.RozhlasUrlSet); Assert.AreEqual(0, parserResult.LogSet.Count); Assert.AreEqual(5, parserResult.RozhlasUrlSet.Count); Assert.IsTrue(parserResult.RozhlasUrlSet.All(p => !string.IsNullOrEmpty(p.Url))); Assert.IsTrue(parserResult.RozhlasUrlSet.All(p => !string.IsNullOrEmpty(p.Title))); html = GetEmbeddedResource("Prehrat2019-PJORourke Jak se dnes chovat ve spolecnosti.html"); parserResult = new RozhlasPrehrat2018PageParser().ParseHtml(html); Assert.IsNotNull(parserResult); Assert.IsNotNull(parserResult.LogSet); Assert.IsNotNull(parserResult.RozhlasUrlSet); Assert.AreEqual(0, parserResult.LogSet.Count); Assert.AreEqual(4, parserResult.RozhlasUrlSet.Count); Assert.IsTrue(parserResult.RozhlasUrlSet.All(p => !string.IsNullOrEmpty(p.Url))); Assert.IsTrue(parserResult.RozhlasUrlSet.All(p => !string.IsNullOrEmpty(p.Title))); }
public void ParseHtmlTests2018() { var html = GetEmbeddedResource("Prehrat2018_01.html"); var parserResult = new RozhlasPrehrat2018PageParser().ParseHtml(html); Assert.IsNotNull(parserResult); Assert.IsNotNull(parserResult.LogSet); Assert.IsNotNull(parserResult.RozhlasUrlSet); Assert.AreEqual(0, parserResult.LogSet.Count); Assert.AreEqual(2, parserResult.RozhlasUrlSet.Count); }
public void ParseHtmlTests2019_2() { // porad bez vice dilu var html = GetEmbeddedResource("Prehrat2019-Nosorozec severni bily.html"); var parserResult = new RozhlasPrehrat2018PageParser().ParseHtml(html); Assert.IsNotNull(parserResult); Assert.IsNotNull(parserResult.LogSet); Assert.IsNotNull(parserResult.RozhlasUrlSet); Assert.AreEqual(0, parserResult.LogSet.Count); Assert.AreEqual(1, parserResult.RozhlasUrlSet.Count); Assert.IsTrue(parserResult.RozhlasUrlSet.All(p => !string.IsNullOrEmpty(p.Url))); Assert.IsTrue(parserResult.RozhlasUrlSet.All(p => !string.IsNullOrEmpty(p.Title))); }
public void ParseHtmlTests2019_4_Radiozurnal() { // TODO - tohle zatim neumim - stranka obsahuje pouze odkazy na dalsi html ne na konkretni mp3 :-( var html = GetEmbeddedResource("Prehrat2019-C-Radiozurnal.html"); var parserResult = new RozhlasPrehrat2018PageParser().ParseHtml(html); Assert.IsNotNull(parserResult); Assert.IsNotEmpty(parserResult.MetaDescription); Assert.IsNotEmpty(parserResult.MetaSiteName); Assert.IsNotEmpty(parserResult.MetaTitle); //Assert.IsNotNull(parserResult.LogSet); //Assert.IsNotNull(parserResult.RozhlasUrlSet); //Assert.AreEqual(0, parserResult.LogSet.Count); //Assert.AreEqual(1, parserResult.RozhlasUrlSet.Count); //Assert.IsTrue(parserResult.RozhlasUrlSet.All(p => !string.IsNullOrEmpty(p.Url))); //Assert.IsTrue(parserResult.RozhlasUrlSet.All(p => !string.IsNullOrEmpty(p.Title))); }
public void ParseHtmlTests2019_5() { // porad bez vice dilu var html = GetEmbeddedResource("Prehrat2019-SoudceZMilosti.html"); var parserResult = new RozhlasPrehrat2018PageParser().ParseHtml(html); Assert.IsNotNull(parserResult); Assert.IsNotNull(parserResult.LogSet); Assert.IsNotNull(parserResult.RozhlasUrlSet); Assert.AreEqual(0, parserResult.LogSet.Count); Assert.AreEqual(7, parserResult.RozhlasUrlSet.Count); Assert.IsTrue(parserResult.RozhlasUrlSet.All(p => !string.IsNullOrEmpty(p.Url))); Assert.IsTrue(parserResult.RozhlasUrlSet.All(p => !string.IsNullOrEmpty(p.Title))); // vsechny title a url by meli byt rozdilne Assert.AreEqual(parserResult.RozhlasUrlSet.Count(), parserResult.RozhlasUrlSet.Select(p => p.Title).Distinct().Count()); Assert.AreEqual(parserResult.RozhlasUrlSet.Count(), parserResult.RozhlasUrlSet.Select(p => p.Url).Distinct().Count()); }
public async Task CanParseTests() { var parser = new RozhlasPrehrat2018PageParser(); var result = await parser.CanParse(null); Assert.IsNull(result); result = parser.CanParse(string.Empty).Result; Assert.IsNull(result); result = parser.CanParse("xxxxxxxxxxx").Result; Assert.IsNull(result); // ok urls var urls = new string[] { @"http://plus.rozhlas.cz/host-galeristka-a-kuratorka-jirina-divacka-7671850?player=on#player", @"http://region.rozhlas.cz/malebne-vlakove-nadrazi-v-hradku-u-susice-se-dostalo-mezi-deset-nejkrasnejsich-u-7671216?player=on#player", @"http://radiozurnal.rozhlas.cz/pribeh-stoleti-7627378#dil=99?player=on#player", @"http://dvojka.rozhlas.cz/miroslav-hornicek-petatricet-skvelych-pruvanu-a-jine-povidky-7670628#dil=2?player=on#player", }; urls.ToList().ForEach(p => { Assert.IsNotNull(parser.CanParse(p).Result); }); // bad urls urls = new string[] { null, string.Empty, "A", @"google.com", @"http://google.com", @"https://google.com", @"https://plus.rozhlas.cz/audio-download/sites/default/files/audios/307c2f0f817ffd1b8032aa157c8559d7-mp3", @"https://api.rozhlas.cz/data/v2/podcast/show/6946964.rss" }; urls.ToList().ForEach(async p => { Assert.IsNull(parser.CanParse(p).Result); }); }