public void ToPlural_CheckRules() { var failedTranslationCount = 0; var redundantInIrregularDictCount = 0; Console.WriteLine("Number of words to translate " + SingularToPluralTranslator.IrregularNouns.Count); foreach (var kvp in SingularToPluralTranslator.IrregularNouns) { var singular = kvp.Key; var expectedPlural = kvp.Value; var computedPlural = SingularToPluralTranslator.ToPlural(singular); if (computedPlural != expectedPlural) { Console.WriteLine( "computed \"" + computedPlural + "\" but expected was \"" + expectedPlural + "\""); failedTranslationCount++; } var computedPluralIgnoreIrregulars = SingularToPluralTranslator.ToPluralNoIrregular(singular); if (SingularToPluralTranslator.IrregularNouns.ContainsKey(singular) && computedPluralIgnoreIrregulars == computedPlural) { Console.WriteLine( singular + " to " + computedPlural + " was in irregular dict, but is covered by regular rules.. No worry!"); redundantInIrregularDictCount++; } } Console.WriteLine( "Number of irregular nouns in dict: " + SingularToPluralTranslator.IrregularNouns.Count + ", redundant count: " + redundantInIrregularDictCount); Assert.That(failedTranslationCount, Is.EqualTo(0)); }
public static string GetBandName(Random rng) { var randomNoun = SingularToPluralTranslator.ToPlural(randomNouns[rng.Next(0, instruments.Count)]); return($"The {FirstToUpper(GetAdjective(rng))} {FirstToUpper(randomNoun)}"); }
public void ToPlural_AddressBecomesAddresses() { Assert.That(SingularToPluralTranslator.ToPlural("address"), Is.EqualTo("addresses")); }