public void IndexerReturnNullIfKeyDoesntExist() { var dictionary = new CultureDictionary("cs", _csPluralRule); var key = new CultureDictionaryRecordKey("ball"); var translation = dictionary[key]; Assert.Null(translation); }
public void IndexerThrowsPluralFormNotFoundExceptionIfSpecifiedPluralFormDoesntExist() { // Arrange var dictionary = new CultureDictionary("cs", _csPluralRule); var record = new CultureDictionaryRecord("ball", "míč", "míče"); dictionary.MergeTranslations(new[] { record }); Assert.Throws <PluralFormNotFoundException>(() => { var key = new CultureDictionaryRecordKey("ball"); return(dictionary[key, 5]); }); }
public void GetDictionaryReturnsDictionaryWithTranslationsFromProvider() { var dictionaryRecord = new CultureDictionaryRecord("ball", "míč", "míče", "míčů"); _translationProvider .Setup(o => o.LoadTranslations(It.Is <string>(culture => culture == "cs"), It.IsAny <CultureDictionary>())) .Callback <string, CultureDictionary>((culture, dictioanry) => dictioanry.MergeTranslations(new[] { dictionaryRecord })); var manager = new LocalizationManager(new[] { _pluralRuleProvider.Object }, new[] { _translationProvider.Object }, _memoryCache); var dictionary = manager.GetDictionary(new CultureInfo("cs")); var key = new CultureDictionaryRecordKey("ball"); dictionary.Translations.TryGetValue(key, out var translations); Assert.Equal(translations, dictionaryRecord.Translations); }