public void TwoNumbersWithCurrencyIsParsed(string parseThis, int minimum, int maximum)
        {
            var parser = new TalentLinkSalaryParser();
            var result = parser.ParseSalaryFromDescription(parseThis);

            Assert.AreEqual(minimum, result.MinimumSalary);
            Assert.AreEqual(maximum, result.MaximumSalary);
        }
        public void UnrecognisedTextAssumedToBeScaleName()
        {
            var parseThis = "Teachers' Pay Scale";

            var parser = new TalentLinkSalaryParser();
            var result = parser.ParseSalaryFromDescription(parseThis);

            Assert.AreEqual("Teachers' Pay Scale", result.SalaryRange);
        }
        public void TwoNumbersAndOverIsParsed()
        {
            var parseThis = "£50,000 and over";

            var parser = new TalentLinkSalaryParser();
            var result = parser.ParseSalaryFromDescription(parseThis);

            Assert.AreEqual(50000, result.MinimumSalary);
            Assert.AreEqual(null, result.MaximumSalary);
        }
        public void PrefixThenOneNumberGbpYearIsParsed()
        {
            var parseThis = "To 29033  GBP Year";

            var parser = new TalentLinkSalaryParser();
            var result = parser.ParseSalaryFromDescription(parseThis);

            Assert.AreEqual(29033, result.MinimumSalary);
            Assert.AreEqual(29033, result.MaximumSalary);
        }
        public void TwoNumbersGbpYearIsParsed()
        {
            var parseThis = "16875 - 17891 GBP Year";

            var parser = new TalentLinkSalaryParser();
            var result = parser.ParseSalaryFromDescription(parseThis);

            Assert.AreEqual(16875, result.MinimumSalary);
            Assert.AreEqual(17891, result.MaximumSalary);
        }
        public void SalaryPrefixInBodyTextWithSpacesInTheNumbersIsParsed()
        {
            var parseThis = new HtmlDocument();

            parseThis.LoadHtml(Properties.Resources.SalaryInBodyText1);

            var parser = new TalentLinkSalaryParser();
            var result = parser.ParseSalaryFromHtml(parseThis);

            Assert.AreEqual(38984, result.MinimumSalary);
            Assert.AreEqual(43022, result.MaximumSalary);
        }
        public void SalaryInBodyTextFollowedByPerAnnumIsParsed()
        {
            var parseThis = new HtmlDocument();

            parseThis.LoadHtml(Properties.Resources.SalaryInBodyText2);

            var parser = new TalentLinkSalaryParser();
            var result = parser.ParseSalaryFromHtml(parseThis);

            Assert.AreEqual(16692, result.MinimumSalary);
            Assert.AreEqual(17808, result.MaximumSalary);
        }
        public void SalaryPrefixInBodyTextWithNoNumbersIsParsedAsTextOnly()
        {
            var parseThis = new HtmlDocument();

            parseThis.LoadHtml(Properties.Resources.SalaryInBodyText4);

            var parser = new TalentLinkSalaryParser();
            var result = parser.ParseSalaryFromHtml(parseThis);

            Assert.AreEqual("Dependant on experience, knowledge and qualifications", result.SalaryRange);
            Assert.AreEqual(null, result.MinimumSalary);
            Assert.AreEqual(null, result.MaximumSalary);
        }
        public void SalaryPrefixInBodyTextWithNoNumbersButNumbersWithinTheSameParentElementIsParsedAsTextOnly()
        {
            var parseThis = new HtmlDocument();

            parseThis.LoadHtml(Properties.Resources.SalaryInBodyText3);

            var parser = new TalentLinkSalaryParser();
            var result = parser.ParseSalaryFromHtml(parseThis);

            Assert.AreEqual("To be negotiated", result.SalaryRange);
            Assert.AreEqual(null, result.MinimumSalary);
            Assert.AreEqual(null, result.MaximumSalary);
        }