public void PluralRuleRepository_GetPluralRuleset(string locale, int pluralForms) { IPluralRuleset ruleset = PluralRuleRepository.GetPluralRuleset(locale); Assert.AreEqual(locale, ruleset.Language, "The language does not match."); Assert.AreEqual(pluralForms, ruleset.PluralForms.Count() + 1, "The number of plural forms does not match."); }
/********* ** Protected methods *********/ /// <summary>Get the plural form of a word for an arbitrary quantity.</summary> /// <param name="quantity">The quantity for which to pluralise a word.</param> /// <param name="forms">The available plural forms of a word.</param> private static string GetPlural(decimal quantity, params string[] forms) { string locale = CultureInfo.CurrentCulture.TwoLetterISOLanguageName; IPluralRuleset ruleset = PluralRuleRepository.GetPluralRuleset(locale); int form = ruleset.SelectForm(quantity); if (forms.Length > form) { return(forms[form]); } return(forms[forms.Length - 1]); }
public int PluralRuleset_SelectForm(string locale, decimal quantity) { IPluralRuleset ruleset = PluralRuleRepository.GetPluralRuleset(locale); return(ruleset.SelectForm(quantity)); }