Skip to content

Commit

Permalink
Merge pull request #54 from ammachado/pt_BR_support
Browse files Browse the repository at this point in the history
PT-BR Language support
  • Loading branch information
MehdiK committed Jan 6, 2014
2 parents 058f2a0 + 8bc8823 commit 4594508
Show file tree
Hide file tree
Showing 8 changed files with 380 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
using System.Globalization;
using System.Threading;

namespace Humanizer.Tests.Localisation
namespace Humanizer.Tests
{
public class AmbientCulture : IDisposable
{
Expand Down
4 changes: 3 additions & 1 deletion src/Humanizer.Tests/Humanizer.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@
<Compile Include="Localisation\DateHumanizeTests.nb-NO.cs" />
<Compile Include="Localisation\es\DateHumanizeTests.cs" />
<Compile Include="Localisation\es\TimeSpanTests.cs" />
<Compile Include="Localisation\pt-BR\DateHumanizeTests.cs" />
<Compile Include="Localisation\pt-BR\TimeSpanTests.cs" />
<Compile Include="RunnableInDebugModeOnlyAttribute.cs" />
<Compile Include="ToQuantityTests.cs" />
<Compile Include="TransformersTests.cs" />
Expand All @@ -88,7 +90,7 @@
<Compile Include="FluentDate\InTests.cs" />
<Compile Include="FluentDate\OnTests.cs" />
<Compile Include="FluentDate\PrepositionTests.cs" />
<Compile Include="Localisation\AmbientCulture.cs" />
<Compile Include="AmbientCulture.cs" />
<Compile Include="Localisation\ResourcesTests.cs" />
<Compile Include="Localisation\DateHumanizeTests.ru-RU.cs" />
<Compile Include="NumberToTimeSpanTests.cs" />
Expand Down
3 changes: 2 additions & 1 deletion src/Humanizer.Tests/Localisation/ar/TimeSpanTests.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
using System;
using Humanizer.Tests;
using Xunit;

namespace Humanizer.Tests.Localisation.ar
{
public class TimeSpanHumanizeExtensionsTests : AmbientCulture
{
public TimeSpanHumanizeExtensionsTests() : base("ar") { }
public TimeSpanHumanizeExtensionsTests() : base("ar") { }

[Fact]
public void OneWeek()
Expand Down
77 changes: 77 additions & 0 deletions src/Humanizer.Tests/Localisation/pt-BR/DateHumanizeTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
using System;
using Xunit;
using Xunit.Extensions;

namespace Humanizer.Tests.Localisation.ptBR
{
public class DateHumanizeTests : AmbientCulture
{
public DateHumanizeTests() : base("pt-BR") { }

[Theory]
[InlineData(-10, "10 dias atrás")]
[InlineData(-3, "3 dias atrás")]
[InlineData(-2, "2 dias atrás")]
[InlineData(-1, "ontem")]
public void DaysAgo(int days, string expected)
{
Assert.Equal(expected, DateTime.UtcNow.AddDays(days).Humanize());
}

[Theory]
[InlineData(-10, "10 horas atrás")]
[InlineData(-3, "3 horas atrás")]
[InlineData(-2, "2 horas atrás")]
[InlineData(-1, "uma hora atrás")]
public void HoursAgo(int hours, string expected)
{
Assert.Equal(expected, DateTime.UtcNow.AddHours(hours).Humanize());
}

[Theory]
[InlineData(-10, "10 minutos atrás")]
[InlineData(-3, "3 minutos atrás")]
[InlineData(-2, "2 minutos atrás")]
[InlineData(-1, "um minuto atrás")]
public void MinutesAgo(int minutes, string expected)
{
Assert.Equal(expected, DateTime.UtcNow.AddMinutes(minutes).Humanize());
}

[Theory]
[InlineData(-10, "10 meses atrás")]
[InlineData(-3, "3 meses atrás")]
[InlineData(-2, "2 meses atrás")]
[InlineData(-1, "um mês atrás")]
public void MonthsAgo(int months, string expected)
{
Assert.Equal(expected, DateTime.UtcNow.AddMonths(months).Humanize());
}

[Theory]
[InlineData(-10, "10 segundos atrás")]
[InlineData(-3, "3 segundos atrás")]
[InlineData(-2, "2 segundos atrás")]
[InlineData(-1, "um segundo atrás")]
public void SecondsAgo(int seconds, string expected)
{
Assert.Equal(expected, DateTime.UtcNow.AddSeconds(seconds).Humanize());
}

[Theory]
[InlineData(-10, "10 anos atrás")]
[InlineData(-3, "3 anos atrás")]
[InlineData(-2, "2 anos atrás")]
[InlineData(-1, "um ano atrás")]
public void YearsAgo(int years, string expected)
{
Assert.Equal(expected, DateTime.UtcNow.AddYears(years).Humanize());
}

[Fact]
public void NotYet()
{
Assert.Equal("ainda não", DateTime.UtcNow.AddDays(1).Humanize());
}
}
}
95 changes: 95 additions & 0 deletions src/Humanizer.Tests/Localisation/pt-BR/TimeSpanTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
using System;
using Xunit;

namespace Humanizer.Tests.Localisation.ptBR
{
public class TimeSpanHumanizeExtensionsTests : AmbientCulture
{
public TimeSpanHumanizeExtensionsTests() : base("pt-BR") { }

[Fact]
public void TwoWeeks()
{
Assert.Equal("2 semanas", TimeSpan.FromDays(14).Humanize());
}

[Fact]
public void OneWeek()
{
Assert.Equal("1 semana", TimeSpan.FromDays(7).Humanize());
}

[Fact]
public void SixDays()
{
Assert.Equal("6 dias", TimeSpan.FromDays(6).Humanize());
}

[Fact]
public void TwoDays()
{
Assert.Equal("2 dias", TimeSpan.FromDays(2).Humanize());
}

[Fact]
public void OneDay()
{
Assert.Equal("1 dia", TimeSpan.FromDays(1).Humanize());
}

[Fact]
public void TwoHours()
{
Assert.Equal("2 horas", TimeSpan.FromHours(2).Humanize());
}

[Fact]
public void OneHour()
{
Assert.Equal("1 hora", TimeSpan.FromHours(1).Humanize());
}

[Fact]
public void TwoMinutes()
{
Assert.Equal("2 minutos", TimeSpan.FromMinutes(2).Humanize());
}

[Fact]
public void OneMinute()
{
Assert.Equal("1 minuto", TimeSpan.FromMinutes(1).Humanize());
}

[Fact]
public void TwoSeconds()
{
Assert.Equal("2 segundos", TimeSpan.FromSeconds(2).Humanize());
}

[Fact]
public void OneSecond()
{
Assert.Equal("1 segundo", TimeSpan.FromSeconds(1).Humanize());
}

[Fact]
public void TwoMilliseconds()
{
Assert.Equal("2 milisegundos", TimeSpan.FromMilliseconds(2).Humanize());
}

[Fact]
public void OneMillisecond()
{
Assert.Equal("1 milisegundo", TimeSpan.FromMilliseconds(1).Humanize());
}

[Fact]
public void NoTime()
{
// This one doesn't make a lot of sense but ... w/e
Assert.Equal("sem horário", TimeSpan.Zero.Humanize());
}
}
}
4 changes: 3 additions & 1 deletion src/Humanizer.Tests/TimeSpanHumanizeExtensionsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@

namespace Humanizer.Tests
{
public class TimeSpanHumanizeExtensionsTests
public class TimeSpanHumanizeExtensionsTests : AmbientCulture
{
public TimeSpanHumanizeExtensionsTests() : base("en-US") { }

[Fact]
public void TwoWeeks()
{
Expand Down
1 change: 1 addition & 0 deletions src/Humanizer/Humanizer.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.ro.resx" />
<EmbeddedResource Include="Properties\Resources.pt-BR.resx" />
</ItemGroup>
<ItemGroup>
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
Expand Down
Loading

0 comments on commit 4594508

Please sign in to comment.