Created
October 31, 2009 10:50
-
-
Save jfromaniello/223027 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Linq; | |
using NUnit.Framework; | |
using SGF.Data.Impl.Constraints.CustomConstraints; | |
using SharpTestsEx; | |
namespace SGF.Domain.Constraints.Test | |
{ | |
[TestFixture] | |
public class GenderGuesserTests | |
{ | |
private readonly GenderGuesser guesser = new GenderGuesser(); | |
[Test] | |
public void UltimaVocalA_SonFemeninas() | |
{ | |
var palabras = "mona,cosas,rosas,valdosas".Split(','); | |
Array.ForEach(palabras, | |
p => guesser.Guess(p) | |
.Should( " {0} should be female.".F(p)).Be.EqualTo(Gender.Female)); | |
} | |
[Test] | |
public void UltimaVocalDistintaDeA_SonMasculinas() | |
{ | |
var palabras = "cliente,atril,articulo,dasorrrbrt".Split(','); | |
Array.ForEach(palabras, | |
p => guesser.Guess(p) | |
.Should(" {0} should be male.".F(p)).Be.EqualTo(Gender.Male)); | |
} | |
[Test(Description = "palabras terminadas en ción sión y iz, suelen ser femeninas.")] | |
public void UltimasSilaba_SonFemeninas() | |
{ | |
var palabras = "comisión,mansión,descripción,inclinación,emperatriz,actriz".Split(','); | |
Array.ForEach(palabras, | |
p => guesser.Guess(p) | |
.Should(" {0} should be female.".F(p)).Be.EqualTo(Gender.Female)); | |
} | |
[Test(Description = | |
@"Palabras que comienzan con 'a' o 'ha' y ultima vocal es a suelen ser femeninas, | |
pero se dice 'el agua','el azucar', 'el hacha'. Para nuestro caso son masculinas en singular, | |
femeninas en plural.")] | |
public void SuenanConA_SonMasculinas() | |
{ | |
var singulares = "agua,azucar,aura,hacha".Split(','); | |
var plurales = "aguas,auras,hachas".Split(','); | |
Array.ForEach(singulares, | |
p => guesser.Guess(p) | |
.Should(" {0} should be male.".F(p)).Be.EqualTo(Gender.Male)); | |
Array.ForEach(plurales, | |
p => guesser.Guess(p) | |
.Should(" {0} should be female".F(p)).Be.EqualTo(Gender.Female)); | |
} | |
[Test(Description = | |
@"Excepción de la regla anterior, si termina con ción iz, por más que empiece con 'a'/'ha' es fem. | |
Ejemplos: aplicación, actriz")] | |
public void SuenaConA_SilabaEspecial_PredominaFem() | |
{ | |
var palabras = "actriz,aplicación".Split(','); | |
Array.ForEach(palabras, p=>guesser.Guess(p) | |
.Should(" {0} should be male.".F(p)).Be.EqualTo(Gender.Female)); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment