From 12af9a53ed22c5bc1b022cda3650b4106343792d Mon Sep 17 00:00:00 2001 From: Marco Gomiero Date: Sat, 18 May 2019 00:45:15 +0200 Subject: [PATCH] Add test to check #21 --- .../rssparser/CoreXMLParserGenericTest.kt | 3 +- .../prof18/rssparser/CoreXMLParserXSLFeed.kt | 80 ++++++++ .../src/test/resources/feed-test-xsl.xml | 180 ++++++++++++++++++ 3 files changed, 262 insertions(+), 1 deletion(-) create mode 100644 rssparser/src/test/java/com/prof18/rssparser/CoreXMLParserXSLFeed.kt create mode 100644 rssparser/src/test/resources/feed-test-xsl.xml diff --git a/rssparser/src/test/java/com/prof18/rssparser/CoreXMLParserGenericTest.kt b/rssparser/src/test/java/com/prof18/rssparser/CoreXMLParserGenericTest.kt index 63599533..818fc573 100644 --- a/rssparser/src/test/java/com/prof18/rssparser/CoreXMLParserGenericTest.kt +++ b/rssparser/src/test/java/com/prof18/rssparser/CoreXMLParserGenericTest.kt @@ -132,7 +132,8 @@ class CoreXMLParserGenericTest(private val feedPath: String) { arrayOf("/feed-test.xml"), arrayOf("/feed-test-time.xml"), arrayOf("/feed-test-image.xml"), - arrayOf("/feed-test-image-2.xml") + arrayOf("/feed-test-image-2.xml"), + arrayOf("/feed-test-xsl.xml") ) } } diff --git a/rssparser/src/test/java/com/prof18/rssparser/CoreXMLParserXSLFeed.kt b/rssparser/src/test/java/com/prof18/rssparser/CoreXMLParserXSLFeed.kt new file mode 100644 index 00000000..7d301382 --- /dev/null +++ b/rssparser/src/test/java/com/prof18/rssparser/CoreXMLParserXSLFeed.kt @@ -0,0 +1,80 @@ +package com.prof18.rssparser + +import com.prof.rssparser.Article +import com.prof.rssparser.core.CoreXMLParser +import org.junit.Assert.* +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.RobolectricTestRunner + +@RunWith(RobolectricTestRunner::class) +class CoreXMLParserXSLFeed { + private lateinit var articleList: MutableList
+ private lateinit var article: Article + private val feedPath = "/feed-test-xsl.xml" + + @Before + fun setUp() { + val inputStream = javaClass.getResourceAsStream(feedPath)!! + val feed = inputStream.bufferedReader().use { it.readText() } + articleList = CoreXMLParser.parseXML(feed) + article = articleList[0] + } + + @Test + @Throws + fun size_isCorrect() { + assertEquals(articleList.size, 20) + } + + @Test + @Throws + fun title_isCorrect() { + assertEquals(article.title, "Insight: Who should Liverpool sign?") + } + + @Test + @Throws + fun author_isCorrect() { + assertEquals(article.author, null) + } + + @Test + @Throws + fun link_isCorrect() { + assertEquals(article.link, "https://www.skysports.com/football/news/11669/11719097/premier-league-transfer-window-who-should-liverpool-sign") + } + + @Test + @Throws + fun pubDate_isCorrect() { + assertEquals(article.pubDate, "Fri, 17 May 2019 06:00:00 BST") + } + + @Test + @Throws + fun description_isCorrect() { + assertEquals(article.description, "Liverpool just missed out on clinching the Premier League title and have a Champions League final to look forward to - so where could they improve?") + } + + @Test + @Throws + fun content_isCorrect() { + assertEquals(article.content, null) + } + + @Test + @Throws + fun image_isCorrect() { + assertEquals(article.image, "https://e2.365dm.com/19/04/128x67/skysports-jurgen-klopp-liverpool_4654732.jpg?20190430113948") + } + + @Test + @Throws + fun categories_isCorrect() { + assertEquals(article.categories, mutableListOf( + "News Story" + )) + } +} \ No newline at end of file diff --git a/rssparser/src/test/resources/feed-test-xsl.xml b/rssparser/src/test/resources/feed-test-xsl.xml new file mode 100644 index 00000000..1d2802d7 --- /dev/null +++ b/rssparser/src/test/resources/feed-test-xsl.xml @@ -0,0 +1,180 @@ + + + + + SkySports | Liverpool + http://www.skysports.com + Liverpool News + en-gb + Fri, 17 May 2019 23:21:44 BST + Copyright 2019, BSKYB. All Rights Reserved. + Football + + Sky Sports + https://www.skysports.com/images/site/ss-logo-07.gif + https://www.skysports.com + + 120 + + <![CDATA[Insight: Who should Liverpool sign?]]> + + https://www.skysports.com/football/news/11669/11719097/premier-league-transfer-window-who-should-liverpool-sign + Fri, 17 May 2019 06:00:00 BST + News Story + + + + <![CDATA[De Bruyne: No sympathy for Liverpool]]> + + https://www.skysports.com/football/news/11669/11722674/man-citys-kevin-de-bruyne-has-no-sympathy-for-liverpool + Fri, 17 May 2019 22:34:00 BST + News Story + + + + <![CDATA[Liverpool 2018/19 season stats]]> + + https://www.skysports.com/football/news/11669/11719772/liverpool-team-and-player-season-stats-in-the-premier-league-201819 + Wed, 15 May 2019 09:49:00 BST + Feature Story + + + + <![CDATA[Transfer Centre: Zaha, Sessegnon latest]]> + + https://www.skysports.com/transfer-centre + Fri, 17 May 2019 07:00:00 BST + News Story + + + + <![CDATA[Fabinho, Lucas not in Brazil squad]]> + + https://www.skysports.com/football/news/11669/11722407/fabinho-and-lucas-moura-left-out-of-brazil-squad-for-copa-america + Fri, 17 May 2019 16:04:00 BST + News Story + + + + <![CDATA[Pep 'sorry' over Liverpool song]]> + + https://www.skysports.com/football/news/11669/11722280/pep-guardiola-sorry-after-man-city-players-filmed-singing-liverpool-chant + Fri, 17 May 2019 14:43:00 BST + News Story + + + + <![CDATA[Reds could ban fans over rogue tickets]]> + + https://www.skysports.com/football/news/11669/11722146/liverpool-could-ban-fans-found-reselling-champions-league-final-tickets-online + Fri, 17 May 2019 12:00:00 BST + News Story + + + + <![CDATA[CL final ticket allocation 'outrageous']]> + + https://www.skysports.com/football/news/11669/11721796/champions-league-final-ticket-allocation-outrageous-says-chair-of-liverpool-fan-group + Thu, 16 May 2019 21:24:00 BST + News Story + + + + <![CDATA[Gomez: Watching Liverpool thrive hurt]]> + + https://www.skysports.com/football/news/11669/11721364/joe-gomez-admits-watching-liverpool-thrive-during-injury-absence-hurt + Thu, 16 May 2019 12:14:00 BST + News Story + + + + <![CDATA[WWE's Ali: Salah is an inspiration]]> + + https://www.skysports.com/wwe/news/11669/11721236/wwes-ali-mohamed-salah-is-an-inspiration-to-me + Fri, 17 May 2019 06:00:00 BST + News Story + + + + <![CDATA[Sponsors urged to return CL final tickets]]> + + https://www.skysports.com/football/news/11669/11721144/liverpool-and-tottenham-supporters-trusts-ask-sponsors-to-return-champions-league-tickets + Thu, 16 May 2019 08:15:00 BST + News Story + + + + <![CDATA[Wijnaldum: We deserve a trophy]]> + + https://www.skysports.com/football/news/11669/11720589/georginio-wijnaldum-says-liverpool-deserve-a-trophy + Wed, 15 May 2019 13:09:00 BST + News Story + + + + <![CDATA[Utd-PSG ref to take charge of CL final]]> + + https://www.skysports.com/football/news/11669/11719759/slovenia8217s-damir-skomina-to-referee-champions-league-final-between-tottenham-and-liverpool + Tue, 14 May 2019 13:05:00 BST + News Story + + + + <![CDATA[Transfer dominos: Hazard > Bale > Pogba?]]> + + https://www.skysports.com/football/news/11669/11720632/how-antoine-griezmann-could-cause-domino-effect-with-eden-hazard-gareth-bale-and-paul-pogba + Thu, 16 May 2019 06:00:00 BST + News Story + + + + <![CDATA[New Premier League kits]]> + + https://www.skysports.com/football/news/11669/11709253/new-premier-league-kits-for-the-201920-season + Thu, 16 May 2019 10:00:00 BST + Feature Story + + + + <![CDATA[Who will win the Golden Shoe?]]> + + https://www.skysports.com/football/news/11669/11721345/who-will-win-golden-shoe-lionel-messi-and-kylian-mbappe-in-contention + Thu, 16 May 2019 13:00:00 BST + News Story + + + + <![CDATA[City deny players' song linked to Cox]]> + + https://www.skysports.com/football/news/11669/11720285/manchester-city-deny-accusations-of-inappropriate-chant + Wed, 15 May 2019 00:00:00 BST + News Story + + + + <![CDATA[Fantasy Team of the Year]]> + + https://www.skysports.com/football/news/11669/11720412/virgil-van-dijk-eden-hazard-pierre-emerick-aubameyang-sky-sports-fantasy-team-of-the-year + Thu, 16 May 2019 06:00:00 BST + News Story + + + + <![CDATA[Best of the season awards]]> + + https://www.skysports.com/football/news/11669/11707215/best-of-the-season-awards-best-game-best-goal-best-tweet-best-pass-best-celebration-best-interview + Thu, 16 May 2019 06:00:00 BST + News Story + + + + <![CDATA[Premier League ins and outs]]> + + https://www.skysports.com/football/news/11669/11713244/premier-league-ins-and-outs-all-the-2019-summer-transfer-window-moves + Mon, 06 May 2019 16:51:00 BST + News Story + + + + + \ No newline at end of file