From 4e6752c0f96803e07d87801e20277249bb8a23de Mon Sep 17 00:00:00 2001 From: Martin Lee Date: Fri, 28 Feb 2020 23:24:18 +0000 Subject: [PATCH] Update odds to decimal --- BritishHorseRacingApi.Tests/DataConverterHelperTests.cs | 8 +++++--- BritishHorseRacingApi/Helpers/DataConverterHelper.cs | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/BritishHorseRacingApi.Tests/DataConverterHelperTests.cs b/BritishHorseRacingApi.Tests/DataConverterHelperTests.cs index 3463e72..effbd0b 100644 --- a/BritishHorseRacingApi.Tests/DataConverterHelperTests.cs +++ b/BritishHorseRacingApi.Tests/DataConverterHelperTests.cs @@ -65,17 +65,19 @@ namespace BritishHorseRacingApi.Tests } [Theory()] - [InlineData("3/5",1.6)] + [InlineData("3/5", 1.6)] + [InlineData("20/1",21)] [InlineData("", null)] [InlineData(" ", null)] [InlineData(null, null)] - public void TestFractionOddsToDecimal(string value, decimal? expectedResult) + public void TestFractionOddsToDecimal(string value, double? expectedResult) { //Arrange + var decimalExpectedValue = (decimal?)expectedResult; //Act var result = DataConverterHelper.FractionOddsToDecimal(value); //Assert - Assert.Equal(expectedResult, result); + Assert.Equal(decimalExpectedValue, result); } } } diff --git a/BritishHorseRacingApi/Helpers/DataConverterHelper.cs b/BritishHorseRacingApi/Helpers/DataConverterHelper.cs index cd4f366..ba14e43 100644 --- a/BritishHorseRacingApi/Helpers/DataConverterHelper.cs +++ b/BritishHorseRacingApi/Helpers/DataConverterHelper.cs @@ -67,14 +67,14 @@ namespace BritishHorseRacingApi.Helpers var lossDifference = GetComponent(match, "lossDifference", 0d); return (int)TimeSpan.FromSeconds(lossDifference).TotalMilliseconds; } - private static Regex _ratioRegex = new Regex("(?'Numerator'[0-9]*)/(?'Denominator'[0-9]*)", RegexOptions.Compiled); + private static Regex _ratioRegex = new Regex("(?'Numerator'[0-9]+)/(?'Denominator'[0-9]+)", RegexOptions.Compiled); public static decimal? FractionOddsToDecimal(string fraction) { if (String.IsNullOrWhiteSpace(fraction)) return null; var match = _ratioRegex.Match(fraction); - if (match.Groups.Count != 2) + if (!match.Success) return null; var numerator = Decimal.Parse(match.Groups["Numerator"].Value);