40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
using BritishHorseRacingApi.Helpers;
|
|||
|
|
using System;
|
||
|
|
using Xunit;
|
||
|
|
|
||
|
|
namespace BritishHorseRacingApi.Tests
|
||
|
|
{
|
||
|
|
public class DataConverterHelperTests
|
||
|
|
{
|
||
|
|
[Theory()]
|
||
|
|
[InlineData("1m 24.73s", 1, 24, 73)]
|
||
|
|
[InlineData("5m 42s", 5, 42, 0)]
|
||
|
|
[InlineData("7m 2.9s", 7, 2, 9)]
|
||
|
|
public void TestStopWatchStringConversion(string time, int mins, int seconds, int milliseconds)
|
||
|
|
{
|
||
|
|
//Arrange
|
||
|
|
//Act
|
||
|
|
var totalMilliseconds = DataConverterHelper.StopWatchStringToMilliseconds(time);
|
||
|
|
//Assert
|
||
|
|
var timeSpan = TimeSpan.FromMilliseconds((double)totalMilliseconds);
|
||
|
|
Assert.Equal(mins, timeSpan.Minutes);
|
||
|
|
Assert.Equal(seconds, timeSpan.Seconds);
|
||
|
|
Assert.Equal(milliseconds, timeSpan.Milliseconds);
|
||
|
|
}
|
||
|
|
|
||
|
|
[Theory()]
|
||
|
|
[InlineData("1m 1f 104y", 2084)]
|
||
|
|
[InlineData("1f 104y", 324)]
|
||
|
|
[InlineData("104y", 104)]
|
||
|
|
public void TestDistanceStringToYardsConversion(string distance, int expectedResult)
|
||
|
|
{
|
||
|
|
//Arrange
|
||
|
|
//Act
|
||
|
|
var result = DataConverterHelper.DistanceStringToYards(distance);
|
||
|
|
//Assert
|
||
|
|
Assert.True(result.HasValue);
|
||
|
|
Assert.Equal(expectedResult, result.Value);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|