示例#1
0
        public void NullOrEmptyStringProducesEmptyArray(string sourceValue)
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var outputValue = translator.Translate(sourceValue);

            Assert.Empty(outputValue);
        }
        public void CanTranslateParagraphWithAdjacentLists()
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var sourceValue = @"
<p>You'll need to have some practical experience and be able to show you have a real enthusiasm for sports commentating. </p>
<p>To get some work experience you could:</p>
<ul>
<li>volunteer to commentate on charity events like fun runs</li>
<li>commentate for amateur matches at schools, college or for local teams </li>
<li> record commentary for websites or internet radio stations </li>
<li>volunteer for community, hospital or student radio, or TV</li>
</ul>
<p>You can get a list of radio stations from:</p>
<ul>
<li><a href=""http://www.commedia.org.uk/"">Community Media Association</a></li>
<li><a href=""http://www.hbauk.com/"">Hospital Broadcasting Association</a></li>
<li><a href=""http://www.radiocentre.org/"">RadioCentre</a></li>
</ul>
<p>Large broadcasters like&nbsp;<a href=""https://www.bbc.co.uk/careers/work-experience/"">BBC Careers</a>, <a href=""http://www.itvjobs.com/workinghere/entry-careers/"">ITV</a> &nbsp; and <a href=""https://careers.channel4.com/4talent"">Channel 4</a> offer work experience placements, insight and talent days.</p>
<p>
The <a href = ""https://www.sportsjournalists.co.uk/training/work-experience/"" > Sports Journalists &rsquo; Association </a> has more ideas about where to look 
for work experience.</p>
<p>With experience<br/><br/>You could move into other roles. Find more <a href='http://ncs.com'>information</a> here</p>";
            var outputValue = translator.Translate(sourceValue);

            Assert.Equal(7, outputValue.Count);
            Assert.Equal("You'll need to have some practical experience and be able to show you have a real enthusiasm for sports commentating.", outputValue.ElementAt(0));
            Assert.Equal("To get some work experience you could:volunteer to commentate on charity events like fun runs; commentate for amateur matches at schools, college or for local teams; record commentary for websites or internet radio stations; volunteer for community, hospital or student radio, or TV", outputValue.ElementAt(1));
            Assert.Equal("You can get a list of radio stations from:[Community Media Association | http://www.commedia.org.uk/]; [Hospital Broadcasting Association | http://www.hbauk.com/]; [RadioCentre | http://www.radiocentre.org/]", outputValue.ElementAt(2));
            Assert.Equal("Large broadcasters like [BBC Careers | https://www.bbc.co.uk/careers/work-experience/], [ITV | http://www.itvjobs.com/workinghere/entry-careers/]   and [Channel 4 | https://careers.channel4.com/4talent] offer work experience placements, insight and talent days.", outputValue.ElementAt(3));
            Assert.Equal("The [Sports Journalists ’ Association | https://www.sportsjournalists.co.uk/training/work-experience/] has more ideas about where to look \r\nfor work experience.", outputValue.ElementAt(4));
            Assert.Equal("With experience", outputValue.ElementAt(5));
            Assert.Equal("You could move into other roles. Find more [information | http://ncs.com] here", outputValue.ElementAt(6));
        }
示例#3
0
        public void ContentWithSpacesIsTrimmed(string sourceValue, string expectedValue)
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var outputValue = translator.Translate(sourceValue);

            Assert.Single(outputValue);
            Assert.Equal(expectedValue, outputValue.First());
        }
示例#4
0
        public void BlankStringReturnsEmptyList()
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var sourceValue = string.Empty;
            var outputValue = translator.Translate(sourceValue);

            Assert.Empty(outputValue);
        }
        public void CanTranslateLinkThatWithHrefAndText()
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var sourceValue = @"<a href='https://www.dta-uk.org/join_us.php'>The Dental Technologists Association</a>";
            var outputValue = translator.Translate(sourceValue);

            Assert.Single(outputValue);
            Assert.Equal("[The Dental Technologists Association | https://www.dta-uk.org/join_us.php]", outputValue.First());
        }
        public void CanTranslateLinksWithNoHrefAttribute()
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var sourceValue = @"<a>The Dental Technologists Association</a>";
            var outputValue = translator.Translate(sourceValue);

            Assert.Single(outputValue);
            Assert.Equal("[The Dental Technologists Association | ]", outputValue.First());
        }
示例#7
0
        public void CanTranslateParagraphs()
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var sourceValue = @"<p>Your duties include</p>";
            var outputValue = translator.Translate(sourceValue);

            Assert.Single(outputValue);
            Assert.Equal("Your duties include", outputValue.First());
        }
示例#8
0
        public void CanTranslateUnorderedList()
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var sourceValue = @"<ul><li>item1</li><li>item2</li><li>item3</li></ul>";
            var outputValue = translator.Translate(sourceValue);

            Assert.Single(outputValue);
            Assert.Equal("item1; item2; item3", outputValue.First());
        }
        public void CanTranslateParagraphWithLink()
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var sourceValue = @"<p>Large broadcasters like&nbsp;<a href=""https://www.bbc.co.uk/careers/work-experience/"">BBC Careers</a>, <a href=""http://www.itvjobs.com/workinghere/entry-careers/"">ITV</a>&nbsp;and <a href=""https://careers.channel4.com/4talent"">Channel 4</a> offer work experience placements, insight and talent days.</p>";
            var outputValue = translator.Translate(sourceValue);

            Assert.Single(outputValue);
            Assert.Equal("Large broadcasters like�[BBC Careers | https://www.bbc.co.uk/careers/work-experience/], [ITV | http://www.itvjobs.com/workinghere/entry-careers/]�and [Channel 4 | https://careers.channel4.com/4talent] offer work experience placements, insight and talent days.", outputValue.First());
        }
示例#10
0
        public void CanTranslateTextWithLinks()
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var sourceValue = @"content not in html tags <a href='http://www.google.com'>link1</a> more content";
            var outputValue = translator.Translate(sourceValue);

            Assert.Single(outputValue);
            Assert.Equal("content not in html tags [link1 | http://www.google.com] more content", outputValue.ElementAt(0));
        }
示例#11
0
        public void NonHtmlContentIsReturnedAsIs()
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var sourceValue = "some text";
            var outputValue = translator.Translate(sourceValue);

            Assert.Single(outputValue);
            Assert.Equal(sourceValue, outputValue.First());
        }
        public void ExtraLineBreaksAreIgnored(string sourceValue)
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var outputValue = translator.Translate(sourceValue);

            Assert.Equal(2, outputValue.Count);
            Assert.Equal("content1", outputValue.First());
            Assert.Equal("p1", outputValue.Last());
        }
示例#13
0
        public void CanTranslateTextFollowedByPTag()
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var sourceValue = @"this is some content<p>p1</p>";
            var outputValue = translator.Translate(sourceValue);

            Assert.Equal(2, outputValue.Count);
            Assert.Equal("this is some content", outputValue.First());
            Assert.Equal("p1", outputValue.Last());
        }
示例#14
0
        public void CanTranslateMultipleParagraphs()
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var sourceValue = @"<p>p1</p><p>p2</p>";
            var outputValue = translator.Translate(sourceValue);

            Assert.Equal(2, outputValue.Count);
            Assert.Equal("p1", outputValue.First());
            Assert.Equal("p2", outputValue.Last());
        }
示例#15
0
        public void CanTranslateTextInMiddleWithPTag()
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var sourceValue = @"<p>p1</p>this is some content<p>p2</p>";
            var outputValue = translator.Translate(sourceValue);

            Assert.Equal(3, outputValue.Count);
            Assert.Equal("p1", outputValue.ElementAt(0));
            Assert.Equal("this is some content", outputValue.ElementAt(1));
            Assert.Equal("p2", outputValue.ElementAt(2));
        }
示例#16
0
        public void CanTranslateTextInMiddleWithPTagAndLink()
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var sourceValue = @"<p>p1</p>this is some <a href='http://www.yahoo.com'>link1</a>content<p>p2</p>";
            var outputValue = translator.Translate(sourceValue);

            Assert.Equal(3, outputValue.Count);
            Assert.Equal("p1", outputValue.ElementAt(0));
            Assert.Equal("this is some [link1 | http://www.yahoo.com]content", outputValue.ElementAt(1));
            Assert.Equal("p2", outputValue.ElementAt(2));
        }
        public void CanTranslate()
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var sourceValue = @"
<ul>
<li><a href=""http://www.commedia.org.uk/"">Community Media Association </a></li>
<li><a href=""http://www.hbauk.com/"">Hospital Broadcasting Association</a></li>
<li><a href=""http://www.radiocentre.org/"">RadioCentre</a></li>
</ul>";

            var outputValue = translator.Translate(sourceValue);

            Assert.Single(outputValue);
            Assert.Equal("[Community Media Association | http://www.commedia.org.uk/]; [Hospital Broadcasting Association | http://www.hbauk.com/]; [RadioCentre | http://www.radiocentre.org/]", outputValue.First());
        }
示例#18
0
        public void CanTranslateParagraphWithAdjacentLists()
        {
            var translator  = new HtmlAgilityPackDataTranslator();
            var sourceValue = @"<p>Your duties may include:</p>
<ul>
<li>preparing for an event by researching clubs or players</li>
<li>working with a production team</li>
<li>taking direction from a producer</li>
<li>interviewing sports professionals</li>
<li>commentating on events before, during and after the fixture</li>
<li>working with experts who give their opinion or statistics</li>
<li>updating your website, blog or social media feed</li>
</ul>";
            var outputValue = translator.Translate(sourceValue);

            Assert.Single(outputValue);
            Assert.Equal("Your duties may include:preparing for an event by researching clubs or players; working with a production team; taking direction from a producer; interviewing sports professionals; commentating on events before, during and after the fixture; working with experts who give their opinion or statistics; updating your website, blog or social media feed", outputValue.First());
        }