From 7f85134e682d1e13eaaeec6aca8477d60cafcf9b Mon Sep 17 00:00:00 2001 From: hangy Date: Thu, 24 Jun 2021 16:30:58 +0200 Subject: [PATCH] Register Latvian formatter --- .../Humanizer.Tests.Shared.projitems | 1 + .../Localisation/lv/TimeSpanHumanizeTests.cs | 98 +++++++++++++++++++ .../Configuration/FormatterRegistry.cs | 1 + 3 files changed, 100 insertions(+) create mode 100644 src/Humanizer.Tests.Shared/Localisation/lv/TimeSpanHumanizeTests.cs diff --git a/src/Humanizer.Tests.Shared/Humanizer.Tests.Shared.projitems b/src/Humanizer.Tests.Shared/Humanizer.Tests.Shared.projitems index c2406dbe7..5efcc1b98 100644 --- a/src/Humanizer.Tests.Shared/Humanizer.Tests.Shared.projitems +++ b/src/Humanizer.Tests.Shared/Humanizer.Tests.Shared.projitems @@ -116,6 +116,7 @@ + diff --git a/src/Humanizer.Tests.Shared/Localisation/lv/TimeSpanHumanizeTests.cs b/src/Humanizer.Tests.Shared/Localisation/lv/TimeSpanHumanizeTests.cs new file mode 100644 index 000000000..a4f9616b5 --- /dev/null +++ b/src/Humanizer.Tests.Shared/Localisation/lv/TimeSpanHumanizeTests.cs @@ -0,0 +1,98 @@ +using System; +using Xunit; + +namespace Humanizer.Tests.Localisation.lv +{ + [UseCulture("lv")] + public class TimeSpanHumanizeTests + { + [Theory] + [Trait("Translation", "Google")] + [InlineData(366, "1 gads")] + [InlineData(731, "2 gadi")] + [InlineData(1096, "3 gadi")] + [InlineData(4018, "11 gadi")] + public void Years(int days, string expected) + { + Assert.Equal(expected, TimeSpan.FromDays(days).Humanize(maxUnit: Humanizer.Localisation.TimeUnit.Year)); + } + + [Theory] + [Trait("Translation", "Google")] + [InlineData(31, "1 mēnesis")] + [InlineData(61, "2 mēneši")] + [InlineData(92, "3 mēneši")] + [InlineData(335, "11 mēneši")] + public void Months(int days, string expected) + { + Assert.Equal(expected, TimeSpan.FromDays(days).Humanize(maxUnit: Humanizer.Localisation.TimeUnit.Year)); + } + + [Theory] + [Trait("Translation", "Google")] + [InlineData(7, "1 nedēļa")] + [InlineData(14, "2 nedēļas")] + public void Weeks(int days, string expected) + { + Assert.Equal(expected, TimeSpan.FromDays(days).Humanize()); + } + + [Theory] + [Trait("Translation", "Google")] + [InlineData(1, "1 diena")] + [InlineData(2, "2 dienas")] + public void Days(int days, string expected) + { + Assert.Equal(expected, TimeSpan.FromDays(days).Humanize()); + } + + [Theory] + [Trait("Translation", "Google")] + [InlineData(1, "1 stunda")] + [InlineData(2, "2 stundas")] + public void Hours(int hours, string expected) + { + Assert.Equal(expected, TimeSpan.FromHours(hours).Humanize()); + } + + [Theory] + [Trait("Translation", "Google")] + [InlineData(1, "1 minūte")] + [InlineData(2, "2 minūtes")] + public void Minutes(int minutes, string expected) + { + Assert.Equal(expected, TimeSpan.FromMinutes(minutes).Humanize()); + } + + [Theory] + [Trait("Translation", "Google")] + [InlineData(1, "1 sekunde")] + [InlineData(2, "2 sekundes")] + public void Seconds(int seconds, string expected) + { + Assert.Equal(expected, TimeSpan.FromSeconds(seconds).Humanize()); + } + + [Theory] + [Trait("Translation", "Google")] + [InlineData(1, "1 milisekunde")] + [InlineData(2, "2 milisekundes")] + public void Milliseconds(int milliseconds, string expected) + { + Assert.Equal(expected, TimeSpan.FromMilliseconds(milliseconds).Humanize()); + } + + [Fact] + [Trait("Translation", "Google")] + public void NoTime() + { + Assert.Equal("0 milisekundes", TimeSpan.Zero.Humanize()); + } + + [Fact] + public void NoTimeToWords() + { + Assert.Equal("bez laika", TimeSpan.Zero.Humanize(toWords: true)); + } + } +} diff --git a/src/Humanizer/Configuration/FormatterRegistry.cs b/src/Humanizer/Configuration/FormatterRegistry.cs index 611675d6a..8dfe8300f 100644 --- a/src/Humanizer/Configuration/FormatterRegistry.cs +++ b/src/Humanizer/Configuration/FormatterRegistry.cs @@ -43,6 +43,7 @@ public FormatterRegistry() : base(new DefaultFormatter("en-US")) RegisterDefaultFormatter("id"); RegisterDefaultFormatter("ja"); RegisterDefaultFormatter("ko-KR"); + RegisterDefaultFormatter("lv"); Register("mt", new MalteseFormatter("mt")); RegisterDefaultFormatter("ms-MY"); RegisterDefaultFormatter("nb");