public void ShouldCreteTagGroupForOneTagTests()
        {
            string html = "<abbr title=\'Side tank\'>T</abbr>";

            string[] array = HTMLRemover.CreateTagGroups(html);
            array.Should().HaveCount(1);
            array[0].Should().Be(html);
        }
        public void ShouldCreteTagGroupForTwoTagTests()
        {
            string html = "<span class=\'nowrap\'></span><abbr title=\'Side tank\'>T</abbr>";

            string[] array = HTMLRemover.CreateTagGroups(html);
            array.Should().HaveCount(2);
            array[0].Should().Be("<span class=\'nowrap\'></span>");
            array[1].Should().Be("<abbr title=\'Side tank\'>T</abbr>");
        }
        public void ShouldRemoveAnyTags(string html, string tagName, string expected)
        {
            string results = HTMLRemover.RemoveAnyTags(html, tagName);

            results.Should().Be(expected);
        }
        public void ShouldGetTextFromTagPairTests(string html, string expected)
        {
            string text = HTMLRemover.GetTextFromTagPair(html);

            text.Should().Be(expected);
        }
        public void ShouldFindTextBetweenTags(string html, string expected)
        {
            string results = HTMLRemover.GetTextBetweenTags(html);

            results.Should().Be(expected);
        }
        public void RemoveAbbrKeepInnerTests(string html, string tagName, string expected)
        {
            string results = HTMLRemover.RemoveKeepInner(html, tagName);

            results.Should().Be(expected);
        }
        public string GetDisplayText(string tag)
        {
            string name = GetValue(tag);

            if (string.IsNullOrWhiteSpace(name))
            {
                return(string.Empty);
            }

            if (tag == "Operators" && name == "<a href=\"/wiki/British_Railways\" class=\"mw-redirect\" title=\"British Railways\">British Railways</a></td></tr>")
            {
                return("British Railways");
            }

            if (tag == "Operators" && name == "<div class=\"plainlist\"><ul><li><a href=\"/wiki/Great_Central_R")
            {
                return("Great Central Railways");
            }

            if (tag == "Operators" && name == "<div class=\"plainlist\"><ul><li><a href=\"/wiki/Great_Western_Railway\" title=\"Great Western")
            {
                return("Great Central Railways");
            }

            if (tag == "Length" && name == "<div class=\"plainlist\"><ul><li><i>Streamlined:</i> 73&#160;ft <span class=\"frac nowrap\">9<span class=\"visualhide\">&#160;</span><sup>3</sup>&#8260;<sub>4</sub></span>&#160;in (22.498&#160;m)</li><li><i>Conventional:</i> 73&#160;ft <span class=\"frac nowrap\">10<span class=\"visualhide\">&#160;</span><sup>1</sup>&#8260;<sub>4</sub></span>&#160;in (22.511&#160;m)</li></ul></div></td></tr>")
            {
                return("73 ft 10 1⁄4 in (22.511 m) Conventional");
            }

            if (tag == "Length" && name.Contains("visualhide"))
            {
                return(HTMLRemover.RemoveAll(name));
            }

            if (tag == "Whyte" && name.Contains("2-6-4"))
            {
                if (name == "<a href=\"/wiki/2-6-4T\" class=\"mw-redirect\" title=\"2-6-4T\">2-6-4T</a></td></tr>")
                {
                    return("2-6-4T");
                }

                return("2-6-4" + HTMLRemover.RemoveKeepInner(name, "abbr"));
            }

            if (name.Contains("18.8 short tons"))
            {
                int endA = name.LastIndexOf("<a");
                if (endA > 2)
                {
                    name = name.Substring(0, endA - 1);
                }
            }

            if (name.Contains("buffers"))
            {
                int endA = name.LastIndexOf("<a");
                if (endA > 2)
                {
                    name = name.Substring(0, endA - 5);
                }
            }

            string displayName = name;

            if (name.Contains("<a"))
            {
                int endA = name.LastIndexOf("</a");
                name = name.Substring(0, endA);
                int endB = name.LastIndexOf("\">") + 2;
                displayName = name.Substring(endB, name.Length - endB);
                displayName = displayName.Replace("R. A. Riddles", "Robert Riddles");
                displayName = displayName.Replace("R. A. Riddles", "Robert Riddles");
                displayName = displayName.Replace("R.A. Riddles", "Robert Riddles");
            }
            else
            {
                displayName = name.Replace("</td></tr>", string.Empty);
                displayName = displayName.Replace("</body></table>", string.Empty);
                displayName = displayName.Replace("</tbody></table>", string.Empty);
            }

            if (tag == "Whyte")
            {
                if (displayName.Contains("Pacific"))
                {
                    return("4-6-2");
                }
            }

            return(displayName);
        }