public void Should_be_able_to_convert_all_supported_types() { var converter = new StringDurationArrayConverter(); var result = (TimeSpan[])converter.ConvertFrom("120s,30m,4h,5d"); Assert.AreEqual(4, result.Length); Assert.AreEqual(TimeSpan.FromSeconds(120), result[0]); Assert.AreEqual(TimeSpan.FromMinutes(30), result[1]); Assert.AreEqual(TimeSpan.FromHours(4), result[2]); Assert.AreEqual(TimeSpan.FromDays(5), result[3]); }
public void Should_be_able_to_convert_type_with_and_without_repeat_count() { var converter = new StringDurationArrayConverter(); var result = (TimeSpan[])converter.ConvertFrom("5ms*5,2s,1m*5,1h"); Assert.AreEqual(12, result.Length); Assert.AreEqual(TimeSpan.FromMilliseconds(5), result[0]); Assert.AreEqual(TimeSpan.FromMilliseconds(5), result[4]); Assert.AreEqual(TimeSpan.FromSeconds(2), result[5]); Assert.AreEqual(TimeSpan.FromMinutes(1), result[6]); Assert.AreEqual(TimeSpan.FromMinutes(1), result[10]); Assert.AreEqual(TimeSpan.FromHours(1), result[11]); }
public void Should_be_able_to_convert_repeated_types() { var converter = new StringDurationArrayConverter(); var result = (TimeSpan[])converter.ConvertFrom("5ms*6,2s*5,1m*4,1h*3,1d*2"); Assert.AreEqual(20, result.Length); Assert.AreEqual(TimeSpan.FromMilliseconds(5), result[0]); Assert.AreEqual(TimeSpan.FromMilliseconds(5), result[5]); Assert.AreEqual(TimeSpan.FromSeconds(2), result[6]); Assert.AreEqual(TimeSpan.FromSeconds(2), result[10]); Assert.AreEqual(TimeSpan.FromMinutes(1), result[11]); Assert.AreEqual(TimeSpan.FromMinutes(1), result[14]); Assert.AreEqual(TimeSpan.FromHours(1), result[15]); Assert.AreEqual(TimeSpan.FromHours(1), result[17]); Assert.AreEqual(TimeSpan.FromDays(1), result[18]); Assert.AreEqual(TimeSpan.FromDays(1), result[19]); }